Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Insert + visualizzazione inserimento

    Ciao a tutti.
    Sarà un problema semplice da risolvere per chi è 'del mestiere'.

    Praticamente inserisco dei dati in un database, in questo caso una notizia (identificata con $id), seguita da un refresh all'elenco completo delle notizie.
    Quello che vorrei invece è ottenere un refresh alla pagina appena inserita... puntare praticamente alla pagina che riproduce il testo appena inserito.
    Grazie!

    "La verità sarà sempre una bugia."

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    probabilmente hai il modo di visualizzare le news una per una;pertanto ti verrebbe comodo questo:
    mysql_insert_id(); Il risultato sara' l'ultimo identificativo autoincrement preso dalla inserteseguita nella tua tabella(suppogo l'id). A questo punto dopo l'insert, sfruttalo direttamente per visualizzare solo il record con quel'id.

  3. #3
    Ah, perfetto.
    In effetti visualizzo una news per volta.
    Funziona benissimo ma non riesco ad ottenere la visualizzazione della pagina tramite la pagina leggi.php...
    Con un semplice 'echo' stampo l'id a video ma a me interessa una query completa tramite leggi.php...
    Come devo fare?
    Grazie

    "La verità sarà sempre una bugia."

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    basta che gli passi l'id ricavato alla pagina e fai un'altra query:

    $select = "select * from tabella wherer id ='$id_trovato'";
    $query = mysql_query($select);
    $result= mysql_fetch_array($query);
    echo Sresult['tutti i campi del record che vuoi visualizzare'];

  5. #5
    l'id ricavato con mysql_insert_id() lo mandi col metodo GET a leggi.php e in leggi.php esegui quanto segue:

    $ultimo_id=$_GET["id"];
    Select * from news where id='$ultimo_id';


    Naturalmente vanno fatti i controlli dell'esistenza della variabile, ecc, ecc.


    ciao
    ______________________________________

    Progresso Web.

  6. #6
    ops, sono arrivato in ritardo
    ______________________________________

    Progresso Web.

  7. #7
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    ops capita anche a me spesso

  8. #8
    Ringrazio entrambi, gentilissimi.

    Ehm...
    Questo è il codice della pagina che riceve i dati del form e li invia al db (ometto altre parti che non servono... credo :

    codice:
    	if($titolo AND $testo AND $sito AND $nome_sito AND $data)
    	{	
    		$query = "insert into $table (titolo, testo, foto, autore, data, sito, ip, nome_sito) values ('$titolo', '$testo', '$foto', '$nick', '$data', '$sito', '$ip', '$nome_sito');";  
    		$risultato = mysql_query($query,$db) or die ("Impossibile aggiungere news!". mysql_error());
    		$subject = "Nuova news in attesa di autorizzazione!!!";
    		$message = "Ciao c'è una nuova NEWS in attesa di autorizzazione inviata da  - $nick  - con titolo: $titolo
    					Questo è l'articolo : $testo
    					Fonte: $sito
    					";
    	    $from="staff@xxxxxxxxx.com";
    	    $email="staff@xxxxxxxxx.com";
    	   	mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
    		
    		//echo "Grazie per aver mandato la tua news $nick!!";
    		echo "Grazie per aver mandato la tua news $nick!!";
    		echo "<meta http-equiv='refresh' content='2; url=tutte.php'>";
    		}
    
    	else echo "Devi completare tutti i campi per inserire una news!!!<meta http-equiv='refresh' content='2; url=javascript:history.back(1)'>";
    	mysql_close($db);
    		}
    		else echo "Devi fare il login!!!<meta http-equiv='refresh' content='3; url=login.php'>";
    Praticamente invece di andare a tutte.php dopo l'inserimento della notizia, vorrei andare all'ultima inserita tramite leggi.php...
    Cosa modifico qui?
    Devo ritoccare quindi qualcosa anche in leggi.php?
    "La verità sarà sempre una bugia."

  9. #9
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    dovrebbe essere cosi':

    if($titolo AND $testo AND $sito AND $nome_sito AND $data)
    {
    $query = "insert into $table (titolo, testo, foto, autore, data, sito, ip, nome_sito) values ('$titolo', '$testo', '$foto', '$nick', '$data', '$sito', '$ip', '$nome_sito');";
    $risultato = mysql_query($query,$db) or die ("Impossibile aggiungere news!". mysql_error());

    $ultimo_id = mysql_insert_id(); // aggiungi questa riga

    $subject = "Nuova news in attesa di autorizzazione!!!";
    $message = "Ciao c'è una nuova NEWS in attesa di autorizzazione inviata da - $nick - con titolo: $titolo
    Questo è l'articolo : $testo
    Fonte: $sito
    ";
    $from="staff@xxxxxxxxx.com";
    $email="staff@xxxxxxxxx.com";
    mail($email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());

    //echo "Grazie per aver mandato la tua news $nick!!";
    echo "Grazie per aver mandato la tua news $nick!!";
    echo "<meta http-equiv='refresh' content='2; url=leggi.php?id=".$ultimo_id."'>"; //ho messo qui l'id da passare alla pagina, preso da mysql_insert_id();
    }

    else {
    echo "Devi completare tutti i campi per inserire una news!!!<meta http-equiv='refresh' content='2; url=java script:history.back(1)'>";
    mysql_close($db);
    }
    echo "Devi fare il login!!!<meta http-equiv='refresh' content='3; url=login.php'>"; //c'era una graffa e un esle di troppo credo(all'inizio della riga)

    Ovviamente nella pagina leggi.php avrai il dato $_GET['id'] per eseguire la query della news.

  10. #10
    Perfetto!
    Grazie davvero. Gentilissimo.

    "La verità sarà sempre una bugia."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.