Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Generowanie checkboxów
koreja
post
Post #1





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

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


Witam. Mam mały problem z funkcją. Otóż wygląda ona tak:
  1. <?php
  2. function buildCheck($options, $selected) {
  3.    while(list($value, $misc) = each($options)) {
  4.        list($desc, $text) = explode("|",$misc);
  5.        list($val, $rest) = each($selected);
  6.        if($rest==$desc){
  7.            $select = "checked";
  8.            } else {
  9.            $select = "";
  10.            }
  11.        if($value%2==0){
  12.        print "<div style='width:50%;float:right' id='check.$desc'><input type='checkbox' name='check[]' value='".$desc."' id='$desc' ";
  13.        print $select;
  14.        print " /><label for='$desc' style='float:none'><img src='ikonki/".$desc.".gif' />".$text."</label></div><br />"; } else {
  15.          print "<div style='width:50%;float:left' id='check.$desc'><input type='checkbox' name='check[]' value='".$desc."' id='$desc' ";
  16.        print $select;
  17.        print " /><label for='$desc' style='float:none'><img src='ikonki/".$desc.".gif' />".$text."</label></div>";
  18.        }
  19.    }
  20. }
  21. ?>


Jak widać pobiera ona dane z tablicy i generuje 2 kolumny checkboxów. Działa ona poprawnie do momentu zaznaczenia wybranego checkboxa (z tablicy, zmienna $selected). Wtedy zaznacza mi tylko pierwszy checkbox. Gdzie może leżeć błąd?

Pozdrawiam, koreja
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




przy checkboxach masz taki problem że jak zaznaczysz np pole 3 to powysłaniu ma ono id 0 jak zaznaczysz 3 i 5
będzie 0 i 1 czyli tak więc zwykła pętla raczej nic ci nie da.
musisz sprawdzać czy dana wartość jest w tablicy checkboxa .
przykładzik co kiedyś zmontowałem:
  1. <?php
  2. $ile=5;
  3. $z=$_REQUEST['x'];
  4. echo '<form method=post>';
  5. for($i=1;$i<=5;$i++){
  6. $checked=( is_array($z) )? ( (in_array($i,$z) )? 'CHECKED':'' ) : '';
  7.  echo '<input type=checkbox name="x[]" value="'.$i.'" '.$checked.' >'.$i.'<br/>';
  8. }
  9. echo '<input type="submit"></form>';
  10. ?>


pobaw się z nim i przełóż na swój kod (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
koreja
post
Post #3





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

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


Dzięki, pomogło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 29.08.2025 - 20:25