Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]zaznaczone checkboxy i baza danych
Forum PHP.pl > Forum > Przedszkole
sunpietro
witam,
ostatnio mam taki problem: Jak pobrać wartość z każdego checkboxa i wprowadzić ją do bazy danych do osobnego rekordu?
mam takie checkboxy:

Kod
<input type="checkbox" name="roslina[]" value="1"/><label for="marchewka">Marchewka</label><br/>
     <label for="marchpow">Powierzchnia: </label>

     <input type="text" name="marchpow" id="marchpow">
<br/>
    
     <input type="checkbox" name="roslina[]" value="2"/><label for="groszek">Groszek</label><br/>
     <label for="gropow">Powierzchnia: </label>

     <input type="text" name="gropow" id="gropow">
<br/>
    
     <input type="checkbox" name="roslina[]" value="4"/><label for="ziemniaki">Ziemniaki</label><br/>
     <label for="ziempow">Powierzchnia: </label>

     <input type="text" name="ziempow" id="ziempow">
<br/>
    
     <input type="checkbox" name="roslina[]" value="5"/><label for="kalafior">Kalafior</label><br/>
     <label for="kalpow">Powierzchnia: </label>

     <input type="text" name="kalpow" id="kalpow">
<br/>


Problem polega na tym, że nie mam bladego pojęcia jak to wpisać do bazy danych. Do każdego nowego rekordu dodaję ID własności użytkownika i nazwę użytkownika ze zmiennych sesyjnych oraz powierzchnię uprawy z textboxa.

Prosze o jakąś podpowiedź.
piotrooo89
w $_POST['roslina'] masz tablice. iteruj foreach po niej i wstawiaj:

pseudo kod:

  1. <?php
  2. $tab = $_POST['roslina'];
  3.  
  4. foreach ($tab as $wstaw)
  5. {
  6. $sql = "INSERT INTO tab SET roslina='$wstaw'";
  7. }
  8. ?>
sunpietro
zrobiłem coś takiego
Kod
$tabroslina = $_POST['roslina'];
     $tabpowierzchnia = $_POST['pow'];

     foreach ($tabroslina as $roslina && $tabpowierzchnia as $powierzchnia)
     {
         $sql = "INSERT INTO Uprawy (ID_ogrodka, ID_rosliny, powierzchnia_uprawy) VALUES ('$idogrodka', '$roslina', '$powierzchnia')";
         $dodanie = mysql_query($sql);
     }

ale wyrzuca mi błąd: "syntax error, unexpected T_BOOLEAN_AND, expecting ')'" w linijce z foreach
jak można zrobić by dopisywało jeszcze powierzchnię ogródka?
dodatkowa pętla foreach?
erix
  1. <?php
  2. foreach ($tabroslina as $roslina && $tabpowierzchnia as $powierzchnia)
  3. ?>

Łączenie tablic, to array_merge" title="Zobacz w manualu PHP" target="_manual, a nie to. winksmiley.jpg

PS. Używaj odpowiedniego bbcode.
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.