Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przenoszeniem dwóch tablic
Forum PHP.pl > Forum > Przedszkole
kosy
Mam problem z przenoszeniem danych w tablicach.
Chciałbym przenieś dane o kodzie towaru i przypadającej na niego ilości za pomocą checkboxa i inputboxa w którym wpisuje ilość.
Robie to w ten za pomocą kodów.
  1. <?php
  2. <input type=checkbox name=chb[] value=".$r["kod"].">
  3. <input type=text size=4 name=ilosc[]>
  4. ?>

Następnie w kolejnym pliku odbieram te dane i wpisuje do bazy kodem:
  1. <?php
  2. $chb=$_POST["chb"];
  3. $ilosc=$_POST["ilosc"];
  4.  
  5. foreach($chb as $wybrane){
  6. mysql_query("INSERT INTO wynik (wybrane, ilosc) VALUES ('".$wybrane."','".$ilosc."')");
  7. }
  8. ?>

Powyższy skrypt wstawia mi jedynie dane o kodzie z checkboxa.
Jak powinien on wyglądać, żeby wstawiał też ilości z inputboxa?
Experymentowałem z podwójnym foreach ale nie przyniosło mi to porządanych rezultatów.
Lonas
Pokaż jeszcze skąd biorą sie te dane : $r["kod"]

Spróbuj poprawić to :

  1. <?php
  2. <input type=checkbox name=chb value=".$r["kod"].">
  3. <input type=text size=4 name=ilosc>
  4. ?>


jeżeli masz po 1 checkbox i input ..

bo jesli masz tego więcej to moim zdaniem powinieneś wyświetlać je w pętli
I równiez odbierać je w petli

np
chb[$i]
kosy
Dane do checkboxa pobieram z tabeli
  1. <?php
  2. $q=mysql_query("SELECT * FROM towary");
  3. while($r=mysql_fetch_assoc($q)){
  4. echo("<input type=checkbox name=chb[] value=".$r["ean"].">");
  5. echo("<input type=text name=ilosc[]>");
  6. }
  7. ?>

Jest ich niestety więcej niż jeden.
Nie bardzo wiem jak wyświetlać i odebrać je w pętli, proszę o jakąś podpowiedź w postaci kodu.
Lonas
Tak wyświetlasz wyniki - jednoczesnie każdy wpisując do tablicy
  1. <?php
  2. $q=mysql_query("SELECT * FROM towary");
  3. $num_results = mysql_num_rows($q);
  4.  
  5. for ($i=0; $i <$num_results; $i++) {
  6. $row = mysql_fetch_array($q);
  7.  
  8. echo("<input type=checkbox name=chb[] value=".$r["ean"].">");
  9. echo("<input type=text name=ilosc[]>");
  10.  
  11. }
  12. ?>

Odbierasz je tak samo w pętli

  1. <?php
  2. for ($i=0; $i <$num_results; $i++) {
  3.  
  4.  
  5. $wybrane = $_POST['wybrane'][$i];
  6. $ilosc = $_POST['ilosc'][$i];
  7. mysql_query("INSERT INTO wynik (wybrane, ilosc) VALUES ('".$wybrane."','".$ilosc."')");
  8.  
  9. }
  10. ?>


możesz jeszcze ewentualnei sprawdzić zawartosc tablicy

print_f($ilosc}; ( chyba tak to było smile.gif )
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.