Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Checkboxy
Forum PHP.pl > Forum > PHP
blackneron
Mam problem z checkboxami. Konkretnie nie działa ich wyświetlenie zaznaczonych i przesłanie.

  1. <?php
  2. $sql = mysql_query("select * from jezyki"); print "<form action='jezyki.php' method='post'>";
  3.  
  4.  
  5. while($wiersz=mysql_fetch_array($sql))
  6. {
  7. print "$wiersz[id_lang] | $wiersz[jezyki]";
  8. print "<input type='checkbox' name='box' value='$wiersz[wybor]'>";
  9. print "<input type='hidden' value='$wiersz[id_lang]' name='lang' />";
  10. print "</tr>";
  11. }
  12. <input type='submit' value='Zapisz'>";
  13.  
  14. $box=$_POST['box'];
  15. $lang=$_POST['lang'];
  16. ?>
pentel
Nie jestem pewien, ale może dlatego, że wszystkie mają ten sam name?

Pozdrawiam
kossa
Cytat
print "<input type='checkbox' name='box' value='$wiersz[wybor]'>";


co to jest ten wybor? smile.gif

a już wiem - to nie tak, nie możesz sobie oznaczyć czy tak i zaznaczać, do zaznaczania służy atrybut checked

np.

  1. <?php
  2. if ($wiersz["wybor"]=="1")
  3. $ch="checked";
  4. else
  5. $ch="";
  6.  
  7. print "<input type='checkbox' name='box' $ch>";
  8. ?>



to tak na szybko z ręki, mogą być iterówki

Łukasz

edit
i nie tak $wiersz[wybor] tylko tak $wiersz["wybor"]
Strzałek
To ja jeszcze się przyczepię winksmiley.jpg Powinno się pisać tak:

  1. <input type="checkbox" name="box" checked="checked" />


Hehe.
blackneron
Zrobiłem tak jak kossa


  1. while($wiersz=mysql_fetch_array($sql))
  2. {
  3. IF ($wiersz["wybor"]=="1")
  4. $ch="checked";
  5. else
  6. $ch="";
  7.  
  8. print "<input type='checkbox' name='box' $ch>";
  9. }


Zrobiłem to inaczej: ale nie zapisuje mi wyników do bazy...
Jak zmieniam z checkbox na text (w polu input) to zapisuje elegancko.

Jak zrobić aby zapisywało z checkboxów questionmark.gif

jezyki
id_lang
jezyki -> pl, en
wybor -> 0 lub 1



  1. $pl=mysql_fetch_array($lang_pl);
  2. $en=mysql_fetch_array($lang_en);
  3.  
  4.  
  5. IF ($pl["wybor"]=="1") $ch_pl="checked";
  6. else $ch_pl="";
  7.  
  8. IF ($en["wybor"]=="1") $ch_en="checked";
  9. else $ch_en="";
  10.  
  11.  
  12. // PL
  13.  
  14. print "$pl["jezyki"]";
  15. print "<input type='checkbox' name='box_pl' $ch_pl value='$pl["wybor"]'>";
  16. print "<input type='hidden' value='$pl["id_lang"]' name='lang_pl' />";
  17.  
  18.  
  19.  
  20. // EN
  21.  
  22. print "$en["jezyki"]";
  23. print "<input type='checkbox' name='box_en' $ch_enl value='$en["wybor"]'>";
  24. print "<input type='hidden' value='$en["id_lang"]' name='lang_en' />";
  25.  
  26.  
  27. $box_pl=$_POST['box_pl'];
  28. $box_en=$_POST['box_en'];
  29.  
  30. $lang_pl=$_POST['lang_pl'];
  31. $lang_en=$_POST['lang_en'];
  32.  
  33.  
  34.  
  35. mysql_query("update jezyki set wybor='$box_pl' where id_lang='$lang_pl'");
  36. mysql_query("update jezyki set wybor='$box_en' where id_lang='$lang_en'");
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.