Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: książka adresowa
Forum PHP.pl > Forum > Bazy danych > MySQL
danielson_x
Witam, robie właśnie od podstaw książke adresową, opartą na php i MySQL
Zrobiłem już dodawanie, kasowanie i przeglądanie danych personalnych osób,
lecz mam pewien problem z ich edycją.
Otóż chce to zrobić tak, aby był formularz w którym w którym urzytkownik może
wpisać ID rekordu który chce edytować, wybrać rodzaj pola które chce edytować
(nazwisko, imie etc.) oraz podał nową wartość dla tego pola,
zrobiłem to więc w ten sposób:

  1. <?php
  2.  <html>
  3. <form name=&#092;"formularz\" method=\"post\" action=\"edit.php\"> 
  4. Wprowadz ID rekordu ktory ma byc edytowany:<br>
  5.  
  6. <input style=&#092;"background-color: silver\" name=\"id\" 
  7. type=&#092;"text\" size=\"4\"><br><br>
  8.  
  9. <select name=&#092;"kryterium\">
  10. <option value=&#092;"imie\">Imie</option>
  11. <option value=&#092;"nazwisko\">Nazwisko</option>
  12. <option value=&#092;"adres\">Adres</option>
  13. <option value=&#092;"telefon\">Telefon</option>
  14. <option value=&#092;"kom\">Tel.kom</option>
  15. <option value=&#092;"email\">Email</option>
  16. <option value=&#092;"urodziny\">Urodziny</option>
  17. </select><br><br>
  18.  
  19. Nowa wartosc:<bR><br>
  20. <input style=&#092;"background-color: silver\" name=\"new_value\" 
  21. type=&#092;"text\" size=\"20\"><br><br>
  22.  
  23. <input type=&#092;"submit\" 
  24. value=&#092;"Wyslij\"> 
  25.  </html>
  26.  
  27. ?>
Następnie chciałem aby metodą post przesłać to do pliku edit.php
który zmieni wpisy w bazie danych:

  1. <?
  2. $handle = mysql_connect('localhost', 'dupa', 'dupa') or die('Dupa, nie polaczylem sie');
  3. mysql_select_db(&#092;"baza\",$handle);
  4.  
  5. switch ($kryterium)
  6. {
  7. case &#092;"imie\"
  8. $result=mysql_query(&#092;"UPDATE dane SET imie=
  9. '$new_value' WHERE id='$id', $handle);
  10. break;
  11.  
  12. case &#092;"nazwisko\"
  13. $result=mysql_query(&#092;"UPDATE dane SET nazwisko=
  14. '$new_value' WHERE id='$id', $handle);
  15. break;
  16.  
  17. case &#092;"adres\"
  18. $result=mysql_query(&#092;"UPDATE dane SET adres=
  19. '$new_value' WHERE id='$id', $handle);
  20. break;
  21.  
  22. case &#092;"telefon\"
  23. $result=mysql_query(&#092;"UPDATE dane SET telefon=
  24. '$new_value' WHERE id='$id', $handle);
  25. break;
  26.  
  27. case &#092;"kom\"
  28. $result=mysql_query(&#092;"UPDATE dane SET kom=
  29. '$new_value' WHERE id='$id', $handle);
  30. break;
  31.  
  32. case &#092;"email\"
  33. $result=mysql_query(&#092;"UPDATE dane SET email=
  34. '$new_value' WHERE id='$id', $handle);
  35. break;
  36.  
  37. case &#092;"urodziny\"
  38. $result=mysql_query(&#092;"UPDATE dane SET urodziny=
  39. '$new_value' WHERE id='$id', $handle);
  40. break;
  41. ?>

Niestety po wypełnieniu formularza, i probie wyslania danych, pojawia sie koumikat: Parse error: syntax error, unexpected T_VARIABLE in D:\Program Files\WebServ\httpd\baza\edit.php on line 8
Kompletnie niewiem o co chodzi blink.gif
Bardzo bym prosił o jakieś sugestie...
dr_bonzo
po
case 'aaaa'
musi byc dwukropek
  1. <?php
  2. case 'aaaa' : ....
  3. ?>


Posprawdzaj jeszcze cudzyslowy/ia.
danielson_x
zmieniłem tak jak powiedziałeś, oraz posprawdzałem czy są wszystkie cudzysłowia,
teraz występuje inne błąd tongue.gif Parse error: syntax error, unexpected T_STRING in D:\Program Files\WebServ\httpd\baza\edit.php on line 11
w linice 12 jest kod
  1. <?php
  2. $result=mysql_query(&#092;"UPDATE dane SET nazwisko=
  3. ?>

dziwna sprawa...
EDIT: błąd odnaleziony,zamiast
  1. <?php
  2. $result=mysql_query(&#092;"UPDATE dane SET imie='$new_value' WHERE id='$id', $handle);
  3. ?>

powinno być
  1. <?php
  2.  
  3. $result=mysql_query(&#092;"UPDATE `dane` SET `imie`='\".$new_value.\"' WHERE `id`='\".$id.\"'\", $handle);
  4. ?>

odkryłem jeszcze, że zapomniałem dodać klamre " } " która zamyka SWITHa
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-2024 Invision Power Services, Inc.