Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z checkboxami i mysql
Forum PHP.pl > Forum > Przedszkole
piser
Witam, mam sobie powiedzmy 3 checkboxy i chciałbym żeby po przekazaniu w bazie w polu SET zaznaczyly sie te opcje ktore w checkboxach wybiore, probowalem to zrobic ale z tego co mi wychodzilo to tylko 1 wartosc przekazywalo ;/ Mógłby mi ktoś pomóc?

  1. <?php
  2.  
  3. <input type="checkbox" name="opcja" value="1">
  4. <input type="checkbox" name="opcja" value="2">
  5. <input type="checkbox" name="opcja" value="3">
  6.  
  7. ?>
NuLL
A z wyszukiwarki na forum korzystales questionmark.gif Bylo duuuzo tematow o tym.
crash
A od kiedy to kilka checkbox'ów może mieć taką samą nazwę (zakładając oczywiście, że nie chcesz tych danych tracić)?
piser
dlatego je tak nazwalem poniewaz do pola set chcialem zeby one lecialy po przecinku w zmiennej o nazwie opcja
crash
  1. <input type="checkbox" name="opcja[]" value="1">
  2. <input type="checkbox" name="opcja[]" value="2">
  3. <input type="checkbox" name="opcja[]" value="3">


  1. <?php
  2. echo ( count( $_POST[ 'opcja' ] ) > 0 ) ? implode( ', ', $_POST[ 'opcja' ] ) : '';
  3. ?>
piser
dzieki stary, teraz wyskakuje array czyli juz jest w tablicy smile.gif no ale probowalem wyswietlic cala ta tabele i nic, uzywalem print_r i nic nie wyswietla ;] niewiem juz sam probowalem wiele rzeczy i wiele postow przeczytalem ;/
nospor
kod, ktory podał crash jest dobry. jego wynikiem nie moze byc array, a wypisanie wartosci zaznaczonych checkboxow oddzielonych przecinkiem.

Byc moze po drodze cos namotaleś. Mozesz pokazac jak to podczepileś u siebie?
piser
w wywołaniu mam tak:
  1. <?php
  2. $opcje=  (count($this->pokaz('opcja')) > 0 ) ? implode(',',$this->pokaz('opcja')):'';
  3. ?>

a w checkboxach mam:
  1. <?php
  2.  
  3. <input type="checkbox" name="pokaz[]" id="opcja1" value="opcja1" /><label for="opcja1">opcja1</label>
  4. <input type="checkbox" name="pokaz[]" id="opcja2" value="opcja2" /><label for="opcja2">opcja2</label>
  5.  
  6. ?>

a w sqlu dodaje na koncu
  1. <?php
  2. (..), '".$opcje."')
  3. ?>


no i naprawde nie wiem w czym jest blad ;/
nospor
a jak wyglada kod tej funkcji: $this->pokaz('opcja') ?
bo ze sposobu jaki jej uzywasz wynika ze jest to funkcja smile.gif
a czemu nie dobierasz sie do tych opcji z $_POST, tak jak ci napisano?
piser
$this->pokaz($val); przyjmuje dla $val odpowiednia wartosc z $_POST, ale czy bym tego nie uzyl czy nawet zwyklego posta to mi wyswietla Array hmm...
crash
$this->pokaz($val) robi to samo co $_POST[ $val ] ? Jeśli tak to niby jakim cudem ma to działać skoro analizujesz 'opcja' a w formularzu te boxy zowią się 'pokaz'... No i jeśli coś wyświetla Ci Array to użyj na tym print_r" title="Zobacz w manualu php" target="_manual() zobaczysz cóż to jest.
piser
bralem juz print_r i nic, i to mnie bardzo dziwi a wyswietla array no nie, w necie znalazlem takie cos:
  1. <?php
  2.  
  3. for ($z=0; $z < count($_POST['opcja']); ++$z) {
  4. print "$_POST['opcja'][$z]";
  5. }
  6.  
  7. ?>

ale to tez mi nie dziala
nospor
@piser czy ty nie sluchasz co do Ciebie mówią?
Cytat
Jeśli tak to niby jakim cudem ma to działać skoro analizujesz 'opcja' a w formularzu te boxy zowią się 'pokaz'...

Twoje checkboxy nazywają sie pokaz a ty dobierasz sie do opcja !
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.