Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]checkbox
Forum PHP.pl > Forum > Przedszkole
kiddy
Witam.
Mam problem z checkboxem dokładnie z zapisaniem go do sql a mianowicie:
  1. <form action="" method="POST">
  2.  
  3. <input type="checkbox" name="123" value="pop"> pop<br>
  4. <input type="checkbox" name="124" value="rap"> rap<br>
  5. <input type="checkbox" name="125" value="disco"> disco<br>
  6. </form>


Teraz w jaki sposób mogę to przesłać do sql, tzn jak w bazie mam w tabeli muzyka tabele: gatunek1 , gatunek2 oraz gatunek3, jeżeli użytkownik zaznaczy np pop i rap to do sql do gatunek1 doda pop a do gatunek2 rap, jeżeli zaznaczy pop i disco to tak samo jak wcześniej do gatunek1 i gatunek2 doda to, jeżeli zaznaczy wszystkie opcje to doda do wszystkich tabel.
erix
Zrób sobie z tych pól tablicę:

  1. <input type="checkbox" name="gatunki[123]" value="pop"> pop<br>

co będzie odpowiadało
  1. <?php
  2. $_POST['gatunki'][123]
  3. ?>

A tablicę już chyba wiesz, jak sobie obrobić. Jeśli nie - manual.
piotrooo89
normalnie sprawdzasz czy masz coś w $_POST przez np:empty.
później dodajesz:
  1. <?php
  2. mysql_query("INSERT INTO tab SET
  3. gatunek1='$_POST['123']',
  4. gatunek2='$_POST['124']',
  5. gatunek1='$_POST['125']");
  6. ?>


tyle
kiddy
piotrooo89, tak ale jeżeli mam 9 gatunków i tylko 3 można wybrać?
Pilsener
  1. input type="checkbox" name="gatunki[]" value="pop"> pop<br>
  2. <input type="checkbox" name="gatunki[]" value="rap"> rap<br>


  1. <?php
  2. $gatunki = $_POST['gatunki'];
  3. $ile = count($gatunki);
  4. if($ile>3){
  5.   $error = 'wybrałeś za dużo';
  6. }else{
  7.   foreach($gatunki as $linia){
  8.   ++$licz;
  9.   $tabela = 'gatunek'.$licz;
  10.   $pytek = "INSERT into $tabela values ($linia)";
  11.   }
  12. }
  13. }
  14. ?>
- coś w tym guście powinieneś zrobić. Poeksperymentuj trochę.
kiddy
No prawie , wybiera ogólnie tylko jeden gatunek i tabele
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.