Ciao a tutti, premetto che non conosco Ajax, il problema è il seguente:
ho la necessità di inserire e visualizzare dei dati tramite php/mysql in tempo reale senza refresh della pagina.
Ho scaricato uno script da internet che funziona benissimo per inserire i dati, ma da qualche problema per la
visualizzazione. Infatti quando faccio un inserimento, sotto dovrebbe visualizzare la lista dei nominativi presenti nel db, a volte lo fa a volte non visualizza l'ultimo record (anche se nel db è stato inserito), dopo 2 o tre inserimenti successivi, finalmente li fa vedere tutti. Non capisco perché, posto il codice delle tre pagine.
index.php
risultato_aggiunta.php ( è la pagina che inserisce i dati tramite php nel db mysql )codice HTML:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { //al click sul bottone del form $("#bottone").click(function(){ //associo variabili var nome = $("#nome").val(); var cognome = $("#cognome").val(); var pz = $("#pz").val(); //chiamata ajax $.ajax({ //imposto il tipo di invio dati type: "POST", //Invio i dati alla pagina php url: "risultato_aggiunta.php", //Dati da salvare data: "nome=" + nome + "&cognome=" + cognome + "&pz=" + pz, dataType: "html", }); }); }); $(document).ready(function() { $("#bottone").click(function() { $("#dati").load("mostra.php", { }); }); }); </script> <body> <form name="modulo"> <p>Nome</p> <p><input type="text" name="nome" id="nome"> <p>Cognome</p> <input type="text" name="cognome" id="cognome"> <p>pz</p> <input type="text" name="pz" id="pz"> <br /><br /> <input type="button" id="bottone" value="Invia i dati"> <input type="reset" value="nuovo"> <div id="dati"> </div> </form> </body> </html>
mostra.php (la pagina che mostra il contenuto del db nel <div id="dati"> presente nella index )Codice PHP:<?php
$host = 'localhost';
$user = 'root';
$pass = 'password';
$db = mysql_connect($host,$user,$pass);
mysql_select_db('prova');
$cognome = $_POST['cognome'];
$nome = $_POST['nome'];
$pz = $_POST['pz'];
$query = "INSERT IGNORE into dati(cognome,nome,pz) values('$cognome','$nome','$pz')";
$result= mysql_query($query,$db);
mysql_close($db);
?>
spero di essere stato chiaro e vi ringrazio in anticipoCodice PHP:<?php
$host = 'localhost';
$user = 'root';
$pass = 'password';
$db = mysql_connect($host,$user,$pass);
mysql_select_db('prova', $db);
$query=" SELECT * FROM dati ";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$nome = $row['nome'];
$cognome = $row['cognome'];
echo $id.' '.$nome.' '.$cognome.'<br />';
}
?>
![]()

Rispondi quotando