Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem z checkbox-ami
Forum PHP.pl > Forum > Przedszkole
fasolka
Witam

Mam BD do której do jednego pola w jednym rekordzie wpisuje za pomocą kilkunastu checkbox-ów dane które są przedzielone ",".
Ladnie sie zapisuje i wyswietla jest OK.
  1. <?php
  2. $dodatki=implode(',',$_POST['dodatki']);
  3. ?>


Natomiast nie mam pojecia jak teraz zrobic to samo ale w drugą stronę.
To znaczy przy edycj tego pola w jednym rekordzie rozbić te dane ale tak zeby zaznaczyły mi sie na tych checkbox-ach których dotyczą.

Dlatego bardzo proszę o pomoc jak to zrobić.
Pozdrawiam
ayeo
Użyj expolde(); i przy wyświetlaniu formularza sprawdzaj czy dana opcja występuje w tablicy (tej, którą tworzysz explode). Jeżeli występuje to dodajesz odpowiedni kod HTML zaznaczając checkboxa. Pozdrawiam!
fasolka
ayeo

może coś więcej czy możesz w jakiś sposób mi to rozpisać będę wdzięczny

pozdrawiam
ayeo
Pokaż kod formularza
fasolka
  1. <form action="index2.php" method="post">
  2.  
  3. <table><tr><td>
  4. <input type="checkbox" NAME="dodatki[]" VALUE="a">A</br>
  5. <input type="checkbox" NAME="dodatki[]" VALUE="b>b</br>
  6. <input type="checkbox" NAME="dodatki[]" VALUE="c">c</br>
  7. <input type="checkbox" NAME="dodatki[]" VALUE="d">d</br>
  8. <input type="checkbox" NAME="dodatki[]" VALUE="e">e</br>
  9. <input type="checkbox" NAME="dodatki[]" VALUE="f">f</br>
  10. <input type="checkbox" NAME="dodatki[]" VALUE="g">g</br>
  11. </td></tr>
  12. <tr><td >
  13. <input type="submit" name="submit" value="DODAJ ">
  14. <input type=reset value=WYCZYSC>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  15. </form>
  16. </td></tr>
ayeo
Tak na szybko:
  1. <?
  2. $values = array('a','b','c','d','e','f','g');
  3. $string = "a,b,c,d";
  4. $marked = explode(',', $string);
  5.  
  6. echo "<form>";
  7.  
  8. foreach($values as $value)
  9. {
  10. if(in_array($value, $marked))
  11. {
  12. echo "<input type=\"checkbox\" NAME=\"dodatki[]\" VALUE=\"$value\" checked=\"yes\" >$value</br>";
  13. }
  14. else
  15. {
  16. echo "<input type=\"checkbox\" NAME=\"dodatki[]\" VALUE=\"$value\">$value</br>";
  17. }
  18.  
  19.  
  20. }
  21. echo "</form>";
  22. ?>


Kod chyba jasny.
Pozdrawiam!
fasolka
Witam

Myslałem że sobie poradzę ale wysiadam
więc wracam do tematu

chce uzyc funkcji explode

mam w polu wyposazenie w bazie mysql taki zapis 1,</br>2,</br>5,</br>

i sie calkiem pogubilem chce tak jak wczesniej pisalem wyswietlic tylko dane znajdujace sie w tym polu

to zanczy zeby sie zaznaczyly checkbox-y z 1,2,5 (czyli tylko te które są wpisane)

pozdrawiam







mysql ma pole ID i wyposazenie



pozdrawiam

Prosze o pomoc
piotrekkr
  1. <?php
  2. explode(',</br>', $string);
  3. ?>
questionmark.gif
fasolka
chodzi mi o to ze sie pogubiłem z kodem i wyswietleniem i zaznaczeniem checkbox-ów

korzystam z przykładu który "ayeo" mi podesłał i coś knocę a wygląda tak:

  1. <?
  2. function modyfikacja ($id,$wyposazenie)
  3. {
  4.  
  5.  
  6.  
  7.  
  8. <tr><td class=\"costam\">costam: $id</td></tr>
  9. </table>");
  10. }
  11. $conn=@mysql_connect("localhost","root","krasnal");
  12. @mysql_select_db("baza",$conn);
  13.  
  14. $select=mysql_query("select id,wyposazenie from tabela order by id DESC limit 0,1")
  15. while($select1=mysql_fetch_array($select))
  16. modyfikacja($select1[0],($select1[1]));
  17. ?>
  18.  
  19.  
  20. <?
  21. $values = array('a','b','c','d','e','f','g');
  22. $string = $_POST['wyposazenie'];
  23. $marked = explode(',<br>',$string );
  24.  
  25. echo "<form>";
  26.  
  27. foreach($values as $value)
  28. {
  29. if(in_array($value, $marked))
  30. {
  31. echo "<input type=\"checkbox\" NAME=\"wyposazenie[]\" VALUE=\"$value\" checked=\"yes\" >$value</br>";
  32. }
  33. else
  34. {
  35. echo "<input type=\"checkbox\" NAME=\"wyposazenie[]\" VALUE=\"$value\">$value</br>";
  36. }
  37.  
  38.  
  39. }
  40. echo "</form>";
  41. ?>
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.