Znalazłem ciekawy skrypt w technologii AJAX:
<head> <script src="jquery.js"></script> <script> function UpdateRecord(id) { jQuery.ajax({ type: "POST", url: "update.php", data: 'id='+id, cache: false, success: function(response) { alert("Record successfully updated"); } }); } </script> </head> <body> <input type="button" id="button_id" value="Update" onClick="UpdateRecord(1);"> </body>
jednak nie potrafię w nim przesłać danych do pliku update.php. Oczywiście biblioteki jQuery są poprawnie podpięte.
--------------------------------------
Znalazłem też inny skrypt, który aktualizuje poprawnie dane w bazie:
<script type="text/javascript"> function updateuser() { var ud_id = $('input[name="ud_id"]').val(); var ud_first = $('input[name="ud_first"]').val(); var ud_last = $('input[name="ud_last"]').val(); if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById("txtuser").innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", "ajaxupdate.php?ud_id=" + ud_id + "&ud_first="+ud_first+"&ud_last="+ud_last, true); xmlhttp.send(); } </script> <form name="test"> ID Number: <input name="ud_id"><br> First Name: <input type="text" name="ud_first"><br> Last Name: <input type="text" name="ud_last"><br> <input type="button" onClick="updateuser()" value="Update"> </form>
ajaxupdate.php:
<?php include 'dbc.php'; $id=$_GET['ud_id']; $first=$_GET['ud_first']; $last=$_GET['ud_last']; $query="UPDATE users SET address='$first', country='$last' WHERE id='$id'"; ?>
Ten drugi niby działa i zmienia dane w bazie, nie potrzebuje biblioteki jQuery, jednak nie wiem jak dodać do niego komunikat o tym że dana wartość została zaktualizowana i jak po naciśnięciu przycisku odświeżyć te dane na stronie..
Dane które aktualizuje są w polach input type="text".