Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql] update z pomocą formularza typu radio, jak to zrobić ?
Immanuel
post 17.01.2007, 18:21:26
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


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 ?


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 17.01.2007, 18:29:41
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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.


--------------------
404
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 18:50:03
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


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

Ten post edytował Immanuel 17.01.2007, 18:51:34


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 17.01.2007, 19:25:35
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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>


Ten post edytował Cienki1980 17.01.2007, 19:27:19


--------------------
404
Go to the top of the page
+Quote Post
Immanuel
post 17.01.2007, 19:39:47
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 9.09.2005
Skąd: Lubin

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


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

Ten post edytował Immanuel 17.01.2007, 19:41:39


--------------------
Immanuel, pozdrawiam
Go to the top of the page
+Quote Post
Cienki1980
post 17.01.2007, 19:41:31
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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


--------------------
404
Go to the top of the page
+Quote Post
maryaan
post 17.01.2007, 21:07:06
Post #7





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


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>


Ten post edytował maryaan 17.01.2007, 21:07:27


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
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: 8.07.2025 - 07:35