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 )
mostra.php (la pagina che mostra il contenuto del db nel <div id="dati"> presente nella index )
spero di essere stato chiaro e vi ringrazio in anticipo
:fonzie:
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
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>
risultato_aggiunta.php ( è la pagina che inserisce i dati tramite php nel db mysql )
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);
?>
mostra.php (la pagina che mostra il contenuto del db nel <div id="dati"> presente nella index )
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 />';
}
?>
spero di essere stato chiaro e vi ringrazio in anticipo
:fonzie: