Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaznaczanie checkboxów na podstawie danych z tablicy, która jest w sesji
Forum PHP.pl > Forum > PHP
in5ane
Witam.
Dajmy na to mam zmienną sesyjną o nazwie state, w której trzymam tablicę. Ogólnie w tej zmiennej są wybrane wcześniej przez użytkownika województwa w formularzu. Poza tym, mam na głównej stronie:
  1. <input type="checkbox" name="state[]" value="1" class="checkbox_p" />
  2. <input type="checkbox" name="state[]" value="2" class="checkbox_p" />
  3. itd... do 16

Moje pytanie brzmi, jak zrobić, jak np. w zmiennej sesyjnej state mam taką tablicę:
Kod
Array ( [0] => 1 [1] => 3 )

Żeby inputy state o wartości 1 i 3 były jako selected. Oczywiście, żeby zawsze inputy były te zaznaczone, które mam w tej tablicy.

Proszę o pomoc. To dla mnie pilne. Pozdrawiam.
nospor
Tyle czasu na forum....

  1. echo '<input type="checkbox" name="state[]" value="1" class="checkbox_p" '.(in_array(1, $twojatablica) ? 'checked="checked"' : '').' />';

Analogicznie reszta.
in5ane
Akurat nigdy z tej funkcji nie korzystałem. Tak to zrobiłbym to sobie foreach i if do tego, ale specjalnie spytałem, czy jest coś lepszego smile.gif Dzięki.
nospor
To, że nie korzystałeś z in_array() nie znaczy, że nie wolno ci do manuala zaglądać...

Proszę, listy wszystkich funkcji operujących na tablicach
http://pl1.php.net/manual/pl/ref.array.php
To naprawdę nie boli a manual nie gryzie smile.gif
aras785
Nawet po polsku jest smile.gif
acidm
A jak już używasz in_array() to zainteresuj się trzecim parametrem bo inaczej wyniki działania tej funckcji mogą troszke namieszaćsmile.gif

  1. $array = array(0,1,2,3,4,'a','b','c');
  2.  
  3. if(in_array('zenek',$array))
  4. {
  5. echo 'jest zenek';
  6. }
  7. else
  8. {
  9. echo 'zenka brak ';
  10. }
  11. //zenkiem pluje :)


  1. $array = array(0,1,2,3,4,'a','b','c');
  2.  
  3. if(in_array('zenek',$array,true))
  4. {
  5. echo 'jest zenek';
  6. }
  7. else
  8. {
  9. echo 'zenka brak ';
  10. }
  11. //a tu nie :)
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.