<body> <html> <form action="" method="GET" id="formularzyk"> <input type="text" name="pole" id="pole"> <input type="submit" id="wyslij" name="wyslij" value="wyslij"> </form> <div id="tresc"> </div> </body> <script type="text/javascript" src="../../js/jquery.js"> </script> <script type="text/javascript"> $(document).ready(function(){ $('#tresc').load('laduj.php'); }) $('#formularzyk').submit(function(){ var pole=$('#pole').val(); var data= { pole: pole } $.get('laduj.php',data,callback) return false; function callback(data,status) { var newHTML; if(status=='success') { newHTML=data; } else { newHTML = "<h2> Błąd </h2>"; } $('#tresc').html(newHTML); } }) </script>
A więc po wejściu na stronę mam formularz i funkcją load ładuję rekordy które mam już w bazie. W pole wpisuję nową wartość, którą chce dodać do bazy, np. wartość1. Podglądam bazę i widzę, że rekord jest dodany czyli do tego momentu wszystko jest OK. Ale na stronie nowego wpisu nie ma, pojawia się dopiero kiedy dodam kolejny wpis albo kiedy odświeżę stronę. Chciałbym żeby pojawiał się od razu po kliknięciu submita. Niem wiem gdzie zrobiłem błąd, może coś nie tak z funkcją zwrotną ? Proszę o pomoc, ajaxa studiuję od niedawna. Na koniec jeszcze kod php ładowany do strony, choć myślę że w nim wszystko jest OK
<?php $komputer='localhost'; $uzytkownik='root'; $haslo="krasnal"; $baza="miasta"; $polaczenie=mysqli_connect($komputer, $uzytkownik, $haslo, $baza); $pytanie="select * from wojewodztwa ORDER BY id_woj DESC"; $rezultaty=mysqli_query($polaczenie,$pytanie); $ilosc_rzedow=mysqli_num_rows($rezultaty); for ($i=0; $i<$ilosc_rzedow; $i++) { $wiersz=mysqli_fetch_array($rezultaty); $kolumna1=$wiersz[0]; $kolumna2=$wiersz[1]; $tablica[$kolumna1]=($kolumna2); } foreach ($tablica as $kolumna1 => $kolumna2) { } $pole=$_GET['pole']; { $polaczenie=mysqli_connect($komputer, $uzytkownik, $haslo, $baza); $pytanie="insert into wojewodztwa values('','$pole')"; $rezultaty=mysqli_query($polaczenie,$pytanie); } ?>