Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z przenoszeniem dwóch tablic
kosy
post 16.08.2006, 12:05:14
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.08.2005
Skąd: Pabianice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Lonas
post 16.08.2006, 12:18:21
Post #2





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


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]

Ten post edytował L.Pociask 16.08.2006, 12:23:17


--------------------
Go to the top of the page
+Quote Post
kosy
post 16.08.2006, 12:33:02
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.08.2005
Skąd: Pabianice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Lonas
post 16.08.2006, 12:39:46
Post #4





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


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 )

Ten post edytował L.Pociask 16.08.2006, 12:43:05


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 03:01