Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Błąd z aktualizowaniem danych mysql.
Forum PHP.pl > Forum > Przedszkole
vifon
Witam, mój problem polega na tym, że wyświetlam dane z bazy w polach formularza - z możliwością edycji następnie powinny się zapisać do bazy a tak nie jest.. myślę, że chodzi o to, że jest więcej rekordów w bazie, ale to tylko moje przypuszczenia..

  1. <?php
  2. If ($a ==''){
  3. $wynik = mysql_query("SELECT * FROM uslugi")
  4. or die('Błąd zapytania');
  5.  
  6. if(mysql_num_rows($wynik) > 0) {
  7. echo "<table cellpadding=0 border=2>";
  8.  
  9. echo "<tr>";
  10. echo "<td><center><b>USLUGA</td>";
  11. echo "<td><center><b>CENA</td>";
  12. echo "<td><center><b>STATUS</td>";
  13.  
  14. echo "</tr></b></center>";
  15. while($r = mysql_fetch_assoc($wynik)) {
  16. $status=$r['status'];
  17.  
  18. echo "<tr>";
  19. echo '<form action="uslugi.php" method="post">
  20. <input type="hidden" name="a" value="save" />';
  21. echo "<td><input disabled=disabled type=text value=".$r['usluga']." size=2></td>";
  22. echo "<td><input type=text name='cena' value=".$r['cena']." size=1></td>";
  23. echo '<td><SELECT name="status" style="width: 95px;">
  24. <option disabled="disabled">'.$status.'</option>
  25. <option value="1">Aktywny</option>
  26. <option value="2">Nieaktywny</option>
  27. </select></td> ';
  28.  
  29.  
  30. echo "</tr>";
  31. }
  32. echo "</table>";
  33. echo '<center><input type="submit" value="Aktualizuj"></center>';
  34. }
  35. }
  36.  
  37. elseif($a == 'save') {
  38.  
  39. $usluga = $r['usluga'];
  40. $status = trim($_POST['status']);
  41. $cena = trim($_POST['cena']);
  42.  
  43.  
  44.  
  45. mysql_query("UPDATE uslugi SET status='$status', cena='$cena' WHERE usluga='$usluga'")
  46. or die('Błąd zapytania');
  47. echo '
  48.  
  49. <table><tr>
  50. <td><img src=images/loading.gif></td>
  51. <td>Dane zostały zaktualizowane!</td>
  52. </tr></table>
  53.  
  54. <meta http-equiv=refresh content=2;url=uslugi.php>
  55.  
  56. ';
  57. }
  58.  
  59. ?>
hyhyhy
masz <form> niedomknięty z tego co widzę, a dane przesyła jak trzeba? mam na myśli print_r($_POST)?
vifon
Tak $cena i $usluga przesyła jak trzeba, ale $status już nie... <form> juz zamknąłem i dalej lipa..
hyhyhy
Hmm, w takim razie - ja tutaj nie widzę błędu, po pracy jestem to tym bardziej smile.gif Spróbuj wrzucić samo zapytanie do phpMyAdmina, czy się wykona, może coś z tego wyniknie.
vifon
w phpMyAdminie śmiga... Ma ktoś jeszcze jakiś pomysł ?
bastard13
Dodaj var_dump($_POST) i wklej to, co Ci wyświetla.
Wydaje mi się, że problem jest dlatego, że jeden znacznik option w select jest disable. Spróbuj to usunąć.
vifon
Dałem do zmiennej $cena i wyświetliło to: NULL string(1) "5" a ten option musi być disabled, bo on wyświetla tylko aktualny stan tej 'usługi' ale to mniejsza o to głównym problemem jest to, że w bazie się nic nie zmienia...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.