Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][AJAX][MySQL][JavaScript] Aktualizacja danych bez przeładowania strony, + wyświetlenie nowo zapisanych danych po zapisie
szymek001
post 12.07.2012, 15:43:42
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 21.09.2005

Ostrzeżenie: (10%)
X----


Witam, próbuję zrobić aktualizację danych w panelu administracyjnym za pomocą AJAX'a. Chcę by po kliknięciu buttona dane zostały zaktualizowane, a na stronie ma się pojawić nowy wynik.
Znalazłem ciekawy skrypt w technologii AJAX:
  1. <head>
  2. <script src="jquery.js"></script>
  3. <script>
  4. function UpdateRecord(id)
  5. {
  6. jQuery.ajax({
  7. type: "POST",
  8. url: "update.php",
  9. data: 'id='+id,
  10. cache: false,
  11. success: function(response)
  12. {
  13. alert("Record successfully updated");
  14. }
  15. });
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <input type="button" id="button_id" value="Update" onClick="UpdateRecord(1);">
  21. </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:
  1. <script type="text/javascript">
  2. function updateuser() {
  3. var ud_id = $('input[name="ud_id"]').val();
  4. var ud_first = $('input[name="ud_first"]').val();
  5. var ud_last = $('input[name="ud_last"]').val();
  6.  
  7. if (window.XMLHttpRequest) {
  8. xmlhttp = new XMLHttpRequest();
  9. }
  10. xmlhttp.onreadystatechange = function () {
  11. if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
  12. document.getElementById("txtuser").innerHTML = xmlhttp.responseText;
  13. }
  14. }
  15. xmlhttp.open("GET", "ajaxupdate.php?ud_id=" + ud_id + "&ud_first="+ud_first+"&ud_last="+ud_last, true);
  16. xmlhttp.send();
  17. }
  18. </script>
  19.  
  20. <form name="test">
  21. ID Number: <input name="ud_id"><br>
  22. First Name: <input type="text" name="ud_first"><br>
  23. Last Name: <input type="text" name="ud_last"><br>
  24. <input type="button" onClick="updateuser()" value="Update">
  25. </form>



ajaxupdate.php:
  1. <?php include 'dbc.php';
  2.  
  3. $id=$_GET['ud_id'];
  4. $first=$_GET['ud_first'];
  5. $last=$_GET['ud_last'];
  6.  
  7.  
  8. $query="UPDATE users SET address='$first', country='$last' WHERE id='$id'";
  9. mysql_query($query);
  10. ?>


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".


Go to the top of the page
+Quote Post
programistaarek
post 15.07.2016, 23:42:16
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 1.02.2015

Ostrzeżenie: (0%)
-----


  1. <?php include 'dbc.php';
  2.  
  3. $id=$_GET['ud_id'];
  4. $first=$_GET['ud_first'];
  5. $last=$_GET['ud_last'];
  6.  
  7.  
  8. $query="UPDATE users SET address='$first', country='$last' WHERE id='$id'";
  9. echo "Zaktualizowano dane ";
  10. mysql_query($query);
  11. ?>


--------------------
Go to the top of the page
+Quote Post
szczemp
post 16.07.2016, 13:57:37
Post #3





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

Ostrzeżenie: (0%)
-----


Cytat(szymek001 @ 12.07.2012, 16:43:42 ) *
Witam, próbuję zrobić aktualizację danych w panelu administracyjnym za pomocą AJAX'a. Chcę by po kliknięciu buttona dane zostały zaktualizowane, a na stronie ma się pojawić nowy wynik.
Znalazłem ciekawy skrypt w technologii AJAX:
  1. <head>
  2. <script src="jquery.js"></script>
  3. <script>
  4. function UpdateRecord(id)
  5. {
  6. jQuery.ajax({
  7. type: "POST",
  8. url: "update.php",
  9. data: 'id='+id,
  10. cache: false,
  11. success: function(response)
  12. {
  13. alert("Record successfully updated");
  14. }
  15. });
  16. }
  17. </script>
  18. </head>
  19. <body>
  20. <input type="button" id="button_id" value="Update" onClick="UpdateRecord(1);">
  21. </body>

jednak nie potrafię w nim przesłać danych do pliku update.php. Oczywiście biblioteki jQuery są poprawnie podpięte.

  1. $.ajax({
  2. method: 'post',
  3. url: 'update.php',
  4. data: {id: id_do_aktualizacji},
  5. success: function (html) {
  6. alert('Record successfully updated');
  7. },
  8. error: function(jqXHR, textStatus, errorThrown) {
  9. console.log(textStatus, errorThrown);
  10. }
  11. });
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.04.2025 - 09:56