Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]nie działa update - dlaczego?
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Mam taki oto kod
  1. <?php
  2. include('connect2.php');
  3.  
  4. //update
  5. if ($_GET["action"]=='popraw') { // poprawianie rekordu
  6. $query = 'UPDATE pacjenci SET nazwisko=\''.$_GET['nazwisko'].'\', Imie='.$_GET['Imie'].', miasto='.$_GET['miasto'].',
  7. tel='.$_GET['tel'].', tel_kom='.$_GET['tel_kom'].' WHERE id_pac='.$_GET['id_pac'];
  8. $result=mysqli_query($mysqli,$query);
  9. echo $result;
  10. }
  11. if ($_GET["action"] == 'update') { // przygotowanie do poprawek
  12. $query1 = 'SELECT id_pac, nazwisko, imie, miasto, adres, tel, tel_kom FROM pacjenci where id_pac='.$_GET['id_pac'];
  13. $result1 = mysqli_query($mysqli,$query1);
  14. $rekord = mysqli_fetch_array($result1,MYSQLI_ASSOC);
  15. $id_pac = $rekord['id_pac'];
  16. $nazwisko = $rekord['nazwisko'];
  17. $imie = $rekord['imie'];
  18. $miasto = $rekord['miasto'];
  19. $adres = $rekord['adres'];
  20. $tel=$rekord['tel'];
  21. $tel_kom = $rekord['tel_kom'];
  22. echo '<FORM METHOD="GET">Poprawa rekordu:';
  23. echo '<INPUT TYPE="hidden" NAME="action" VALUE="popraw">';
  24. echo '<INPUT TYPE="hidden" NAME="id_pac" VALUE="'.$id_pac.'">
  25. <TABLE>';
  26. echo '<TR><TD>Nazwisko:</TD><TD><INPUT TYPE="text" ';
  27. echo 'NAME="nazwisko" VALUE="'.$nazwisko.'"></TD></TR><TR><TD>Imie:';
  28. echo '</TD><TD><INPUT TYPE="text" NAME="imie" VALUE="'.$imie;
  29. echo '"></TD></TR><TR><TD>Miasto:</TD><TD><INPUT TYPE="text"';
  30. echo 'NAME="miasto" VALUE="'.$miasto.'"></TD></TR>';
  31. echo '<TR><TD>Adres:</TD><TD><INPUT TYPE="text" ';
  32. echo 'NAME="adres" VALUE="'.$adres.'"></TD></TR>';
  33. echo '<TR><TD>TEL:</TD><TD><INPUT TYPE="text" ';
  34. echo 'NAME="tel" VALUE="'.$tel.'"></TD></TR>';
  35. echo '<TR><TD>TEL_kom:</TD><TD><INPUT TYPE="text" ';
  36. echo 'NAME="tel_kom" VALUE="'.$tel_kom.'"></TD></TR>';
  37. echo '</TABLE><INPUT TYPE="submit" VALUE="Popraw"></FORM>';
  38. }
  39.  
  40. //wyświetlanie
  41. $query4 = 'SELECT id_pac, nazwisko, imie, PESEL, miasto, adres, tel, tel_kom, rok_ur FROM pacjenci limit 30';
  42. $result4=mysqli_query($mysqli,$query4);
  43. echo "<TABLE CELLPADDING=5 BORDER=1>";
  44. echo "<TR>
  45. <TD><B>NAZWISKO</B></TD> <TD><B>IMIE</B></TD> <TD><B>PESEL</B></TD><TD><B>MIASTO</B></TD>
  46. <TD><B>adres</B></TD><TD><B>tel</B></TD><TD><B>tel_kom</B></TD><TD><B>rok_ur</B></TD>
  47. <TD><B>uaktualnij</B></TD>
  48. </TR>";
  49. while ($rekord = mysqli_fetch_array($result4, MYSQLI_ASSOC)) {
  50. $id_pac = $rekord['id_pac'];
  51. $nazwisko = $rekord['nazwisko'];
  52. $imie = $rekord['imie'];
  53. $PESEL = $rekord['PESEL'];
  54. $miasto = $rekord['miasto'];
  55. $adres = $rekord['adres'];
  56. $tel=$rekord['tel'];
  57. $tel_kom = $rekord['tel_kom'];
  58. $rok_ur = $rekord['rok_ur'];
  59. echo "<TR>";
  60. echo "<TD>$nazwisko</TD><TD>$imie</TD><TD>$PESEL</TD><TD>$miasto</TD><TD>$adres</TD><TD>$tel</TD>
  61. <TD>$tel_kom</TD><TD>$rok_ur</TD>";
  62. echo "<TD><A HREF=\"aktualizacja.php?action=update&id_pac=$id_pac\">aktualizacja</A></TD>";
  63. echo "</TR>";
  64. }
  65. echo "</TABLE>";
  66. ?>

Pytanie do bazy zadaje - wszystko mi się wyświetla na stronie natomiast nie chce updatetować i nie rozumiem dlaczego.
Z góry dzięki za odpowiedź
Jacek
Quantum
spróbuj teraz:

  1. $query = 'UPDATE pacjenci SET nazwisko=\''.$_GET['nazwisko'].'\', Imie=\''.$_GET['Imie'].'\', miasto=\''.$_GET['miasto'].'\',
  2. tel=\''.$_GET['tel'].'\', tel_kom=\''.$_GET['tel_kom'].'\' WHERE id_pac='.(int)$_GET['id_pac'];
jacusek
Działa dzięki smile.gif

Choć teraz przy komunach tel. i tel_kom po zrobieniu update jakiejkolwiek kolumny do ww. wstawiają się zera. Z czego może to wynikać. Nie mam żadnych wartość defaultowych na poziomie Bazy danych.
Quantum
Podaj jakie masz typy kolumn tel i tel_kom (strzelam, że integer?) i jeszcze przykładowe wartości z $_GET jakie wstawiasz do bazy.

edit. jeśli dobrze zgadłem, zmień na varchar, będziesz mógł dodać numer o formacie "xxx-xxx-xxx" itp. tylko ustal sobie max. ilość znaków.
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.