Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] update z pomocą formularza typu radio
Forum PHP.pl > Forum > Przedszkole
Immanuel
mam taki oto kod:
  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <LINK href="style.css" type=text/css rel=StyleSheet>
  6. <TITLE>Przeglądaj Bazę Danych</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <? 
  10. mysql_connect ("localhost", "root", "krasnal") or 
  11. die ("Nie można połączyć się z MySQL");
  12. mysql_select_db ("dziennik") or 
  13. die ("Nie można połączyć się z bazą.");
  14.  
  15.  $wynik = mysql_query ("SELECT * FROM uczen ORDER BY korekta DESC") or 
  16. die ("błąd w pytaniu");
  17.  
  18. print "<center><TABLE CELLPADDING=5 BORDER=1><TR><td>Id</td><TD>Imie</TD><TD>Nazwisko</TD><TD>Notatki</TD><TD>Korekta</td><td>UPDATE</td></TR>n";
  19.  
  20. while ($rekord = mysql_fetch_array ($wynik)) {
  21.  
  22. $id = $rekord[0];
  23. $imie = $rekord[1];
  24. $nazwisko = $rekord[2];
  25. $notatki = $rekord[3];
  26. $korekta = $rekord[4];
  27.  
  28.  
  29. print "<TR><td>&nbsp;$id</td><TD>&nbsp;$imie</TD><TD>&nbsp;$nazwisko</TD><TD>&nbsp;$notatki</TD><TD>&nbsp;$korekta</td><td><input type=radio name=korekta value=$id></td></TR>n";
  30. }
  31.  
  32. print "</TABLE></center>";
  33.  
  34. ?>
  35.  
  36. </BODY>
  37. </HTML>


czego wynikiem jest coś takiego:


jak dokonać zmiany wybranego za pomocą formularza rekordu ?
Cienki1980
Całą tabelkę która tworzysz wziąć wsadzić w <form></form>.

Po zatwierdzeniu formy ( jakimś przyciskiem czy czym tam wolisz ) przechodzisz do innego pliku ( określonego w <form action="nazwa_pliku.php">

W skrypcie tym odczytujesz wartość wiersza dla ID które przekazałeś do nowego pliku ... dane wypisujesz do formularza i w momencie zatwierdzenia zmiany robisz update do bazy dla danego ID.
Immanuel
coś nie chce działać :/
tak zrobiłem

  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  4. <meta http-equiv="Content-Language" content="pl">
  5. <LINK href="style.css" type=text/css rel=StyleSheet>
  6. <TITLE>Przeglądaj Bazę Danych</TITLE>
  7. </HEAD>
  8. <BODY>
  9. <? 
  10. mysql_connect ("localhost", "root", "krasnal") or 
  11. die ("Nie można połączyć się z MySQL");
  12. mysql_select_db ("dziennik") or 
  13. die ("Nie można połączyć się z bazą.");
  14.  
  15.  $wynik = mysql_query ("SELECT * FROM uczen ORDER BY korekta DESC") or 
  16. die ("błąd w pytaniu");
  17.  
  18. print "<center><form action=edycja.php method=post>
  19. <TABLE CELLPADDING=5 BORDER=1><TR><td>Id</td>
  20. <TD>Imie</TD><TD>Nazwisko</TD><TD>Notatki</TD>
  21. <TD>Korekta</td><td>UPDATE</td></TR>n";
  22.  
  23. while ($rekord = mysql_fetch_array ($wynik)) {
  24.  
  25. $id = $rekord[0];
  26. $imie = $rekord[1];
  27. $nazwisko = $rekord[2];
  28. $notatki = $rekord[3];
  29. $korekta = $rekord[4];
  30.  
  31.  
  32. <TR>
  33. <td>&nbsp;$id</td>
  34. <TD>&nbsp;$imie</TD>
  35. <TD>&nbsp;$nazwisko</TD>
  36. <TD>&nbsp;$notatki</TD>
  37. <TD>&nbsp;$korekta</td>
  38. <td><input type=radio name=id></td>
  39. </TR>n";
  40. }
  41.  
  42. print "</TABLE>
  43. <input type=submit value=ZAPISZ></form></center>";
  44.  
  45. ?>
  46.  
  47. </BODY>
  48. </HTML>


i w pliku edycja.php dałem tylko echo "$id";
i wywala mi za każdym razem: ON
bez względu na to co wybiorę...
powinny być liczby od 1 do 5
Cienki1980
Pewnie dlatego, że przy wyświetlaniu wierszy masz

  1. <input type=radio name=xxxx value=id>

A powinno być
  1. <input type=radio name=xxxx value=$id>
Immanuel
dziękuję winksmiley.jpg
już działa
ja wywoływałem
echo "$id";
a poprawnie ma być to co jest w name
czyli echo "$xxxx";

ale ze mnie amator biggrin.gif
Cienki1980
Cytat(Immanuel @ 17.01.2007, 19:39:47 ) *
i jak powinienem wywołać zmienną, żeby zwróciła odpowiednią wartość ?

  1. <?php
  2. echo $_POST['xxx'];
  3. ?>
maryaan
nie jest to wprawdzie zwiazane z pytaniem ale wg mnie bardziej intuicyjnym rozwiazaniem jest wrzucanie do ostatniej komorki linku ktory wyglada np tak
  1. <a href="edycja.php?id=$id">EDYTUJ</a>
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.