Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] porównanie wartości z tablic z innymi, cośnie działa
dekrzycho
post 30.03.2006, 12:36:37
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 10.01.2005

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


Witam,
Mam tablice z danymi o postaci dane[msp,003,vt03] wartości te wpisują się z formularza poprzez zaznaczony checkbox.
Jeśli w tablicy dane[] wystąpią pewne zwroty to skrypt musi mi coś zrobić....
oto kawałek skryptu:

  1. <?php
  2.  
  3. //pobieram dane do tabeli
  4.  
  5. $dane[]=$_POST['dane[]'];
  6.  
  7. //przeglądam tabele
  8.  
  9. for ($i=0;$i<=2;$i++)
  10. {
  11. if ($dane[$i] == "msp")
  12. {        
  13. zrób coś tam....
  14. }else
  15. {
  16. zrób coś tam...
  17. }
  18.  
  19. ?>


Podobnie dla pozostałych wartości z tablicy dane[].

Ten skrypt mi nie działa. Wyświetliłem sobie wartości w tablicy i jest ok.
ale warunki mi się nie wykonują więc pewnie popełniam błąd w instrukcji if.
Może podpowiecie mi co jest nie tak.
P.S. W tablicy są same stringi...

Ten post edytował nospor 30.03.2006, 13:32:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
nospor
post 30.03.2006, 12:44:40
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $dane=$_POST['dane'];
  3. foreach ($dane as $d)
  4. echo $d;
  5. ?>

pod warunkiem ze dobrze nadales nazwy w formularzu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dekrzycho
post 30.03.2006, 13:05:02
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 10.01.2005

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


Cytat(nospor @ 2006-03-30 11:44:40)
  1. <?php
  2. $dane=$_POST['dane'];
  3. foreach ($dane as $d)
  4. echo $d;
  5. ?>

pod warunkiem ze dobrze nadales nazwy w formularzu

Dzieki za podpowiedź ale ja mam tablice dane[]. a z formularza w ten sposób przesyłam informacje...
  1. <input name="dane[]" class="checkbox" type="checkbox" value="msp">
  2. <input name="dane[]" class="checkbox" type="checkbox" value="003s">
  3. <input name="dane[]" class="checkbox" type="checkbox" value="vt03">

musze tak mieć ponieważ mam skrypt w JS który mi sprawdza czy jest zaznaczony przynajmniej jeden checkbox.
Musze pobrać z formularza całą tablice wiec $dane[]=$_POST['dane[]'];
Nie rozumiem jak w moim przypadku mam zastosować funkcję foreach?questionmark.gif
I co z moimi if ami.
Go to the top of the page
+Quote Post
nospor
post 30.03.2006, 13:17:59
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@dekrzycho z calym szacunkiem, ale jesli ktos podaje ci rozwiąznie (kod) i ten ktos wydaje się byc osobą z większym doswiadczeniem niż ty, to zamiast mowic, ze podane rozwiazanie jest bledne, wykonaj je najpierw i sprawdź.
Tak jak ci pokazalem, wlasnie odbiera się tablicę z formularza. Więc Twoj sposob jest zdecydowanie zly.

Cytat
Nie rozumiem jak w moim przypadku mam zastosować funkcję foreach?questionmark.gif
Zajrzyj do manuala a sie dowiesz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Qvazar
post 30.03.2006, 13:48:21
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 28.10.2005

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


  1. <?php
  2.  
  3. //pobieram dane do tabeli
  4.  
  5. $dane[]=$_POST['dane[]'];
  6.  
  7. //przeglądam tabele
  8.  
  9. for ($i=0;$i<=2;$i++)
  10. {
  11.  if ($dane[$i] == "msp")
  12. {
  13. zrób coś tam....
  14. }
  15. else
  16. {
  17. zrób coś tam...
  18. }
  19. } /* <-brakuje */
  20.  
  21. ?>
Go to the top of the page
+Quote Post
kszychu
post 30.03.2006, 13:59:32
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Kurde, następny..... @Qvazar: weź nie pisz takich głupot!
  1. <?php
  2. $dane = $_POST['dane'];
  3. ?>

i co by to nie było, tablica nie tablica, przypisze się poprawnie!


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
dekrzycho
post 30.03.2006, 14:35:54
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 10.01.2005

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


Cytat(nospor @ 2006-03-30 12:17:59)
@dekrzycho z calym szacunkiem, ale jesli ktos podaje ci rozwiąznie (kod) i ten ktos wydaje się byc osobą z większym doswiadczeniem niż ty, to zamiast mowic, ze podane rozwiazanie jest bledne, wykonaj je najpierw i sprawdź.
Tak jak ci pokazalem, wlasnie odbiera się tablicę z formularza. Więc Twoj sposob jest zdecydowanie zly.

Cytat
Nie rozumiem jak w moim przypadku mam zastosować funkcję foreach?questionmark.gif
Zajrzyj do manuala a sie dowiesz.

Przepraszam, nie chciałem nikogo obrazić. Jestem początkujący i faktycznie niewiele wiem.
Masz rację, źle robiłem z przekazaniem wartości z formularza choć wyglądało ok.
Wzorując się na twojej podpowiedzi zrobiłem coś takiego....

  1. <?php
  2.  
  3. $chex=$_POST['chex'];
  4. foreach ($chex as $nazwa)
  5. {
  6. // MSP422
  7. if ($nazwa=="msp")
  8. {
  9. jakies przeliczenia
  10. $Lp=$Lp+1;
  11. $tresc_1='kod html':
  12. }else
  13. {
  14. $tresc_1='';
  15. $Lp=$Lp;
  16. }
  17.  
  18. if ($nazwa=="003s")
  19. {
  20. jakies przeliczenia
  21. $Lp=$Lp+1;
  22. $tresc_2='kod html':
  23. }else
  24. {
  25. $tresc_2='';
  26. $Lp=$Lp;
  27. }
  28.  
  29. if ($nazwa=="vt03")
  30. {
  31. jakies przeliczenia
  32. $Lp=$Lp+1;
  33. $tresc_3='kod html':
  34. }else
  35. {
  36. $tresc_3='';
  37. $Lp=$Lp;
  38. }
  39. echo $nazwa;
  40. }
  41.  
  42. ?>

i zawsze działa dla ostatniego warunku. nie rozumiem jak działa foreach!!!!
Go to the top of the page
+Quote Post
nospor
post 30.03.2006, 14:45:24
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ty ogolnie nie lapiesz troche podstawowych pojec, a nie tylko foreach. (nie mowie tego by cie obrazić, tylko by powiedziec w czym problem) winksmiley.jpg
Twoj kod wygląda trochę dziwnie sądząc po tym czego odniego oczekujesz.
A wyjaśnij dokladnie, co chcesz by sie stalo, gdy zaznaczymy dane checkboxy.

ps:
Cytat
nie chciałem nikogo obrazić.
Tu za takie rzeczy nikt sie nie obraza. Ja ci tylko zwrocilem uwagę winksmiley.jpg

edit: mam nadzieje, ze zdajesz sobie sprawę, ze formularz wysyla tylko zaznaczone checkboxy.
edit2:
na chwile obecną, nie wiedząc oco ci dokladnie chodzi, zaproponowalbym ci cos takiego:
  1. <?php
  2.  
  3. $tresc_1='';
  4. $tresc_2='';
  5. $tresc_3='';
  6. $chex=$_POST['chex'];
  7. foreach ($chex as $nazwa)
  8. {
  9. // MSP422
  10. if ($nazwa=="msp")
  11. {
  12. //jakies przeliczenia
  13. $Lp=$Lp+1;
  14. $tresc_1='kod html':
  15. }
  16. elseif ($nazwa=="003s")
  17. {
  18. //jakies przeliczenia
  19. $Lp=$Lp+1;
  20. $tresc_2='kod html':
  21. }elseif ($nazwa=="vt03")
  22. {
  23. //jakies przeliczenia
  24. $Lp=$Lp+1;
  25. $tresc_3='kod html':
  26. }
  27. echo $nazwa;
  28. }
  29.  
  30. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dekrzycho
post 30.03.2006, 15:39:33
Post #9





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 10.01.2005

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


Cytat(nospor @ 2006-03-30 13:45:24)
ty ogolnie nie lapiesz troche podstawowych pojec, a nie tylko foreach. (nie mowie tego by cie obrazić, tylko by powiedziec w czym problem) winksmiley.jpg
Twoj kod wygląda trochę dziwnie sądząc po tym czego odniego oczekujesz.
A wyjaśnij dokladnie, co chcesz by sie stalo, gdy zaznaczymy dane checkboxy.

ps:
Cytat
nie chciałem nikogo obrazić.
Tu za takie rzeczy nikt sie nie obraza. Ja ci tylko zwrocilem uwagę winksmiley.jpg

edit: mam nadzieje, ze zdajesz sobie sprawę, ze formularz wysyla tylko zaznaczone checkboxy.
edit2:
na chwile obecną, nie wiedząc oco ci dokladnie chodzi, zaproponowalbym ci cos takiego:
  1. <?php
  2.  
  3. $tresc_1='';
  4. $tresc_2='';
  5. $tresc_3='';
  6. $chex=$_POST['chex'];
  7. foreach ($chex as $nazwa)
  8. {
  9. // MSP422
  10. if ($nazwa=="msp")
  11. {
  12. //jakies przeliczenia
  13. $Lp=$Lp+1;
  14. $tresc_1='kod html':
  15. }
  16. elseif ($nazwa=="003s")
  17. {
  18. //jakies przeliczenia
  19. $Lp=$Lp+1;
  20. $tresc_2='kod html':
  21. }elseif ($nazwa=="vt03")
  22. {
  23. //jakies przeliczenia
  24. $Lp=$Lp+1;
  25. $tresc_3='kod html':
  26. }
  27. echo $nazwa;
  28. }
  29.  
  30. ?>

Tak wiem że nie jestem nawet dobry w pisaniu php. nie tylkopodstaw mi brakuje....
Wracając do mojego skryptu to chekboxy uzalezniają mi kod html który wstawiam do treści maila a ten zostaje wysłany na dany adres.
jeżeli zostanie zaznaczony checkbox to zmienna treść zostaje uzupełniona o pewne wartości tj, ceny, ilość sztuk itp. całość tworzy jeden wiersz w tabeli.
Go to the top of the page
+Quote Post
nospor
post 30.03.2006, 15:42:57
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czyli to ma byc jedna zmienna treść? No to robisz jak ci napisalem, z lekką zmianą:
  1. <?php
  2. $tresc='poczatkowa jakas tresc';
  3. $chex=$_POST['chex'];
  4. foreach ($chex as $nazwa)
  5. {
  6. // MSP422
  7. if ($nazwa=="msp")
  8. {
  9. //jakies przeliczenia
  10. $Lp=$Lp+1;
  11. $tresc.='kod html':
  12. }
  13. elseif ($nazwa=="003s")
  14. {
  15. //jakies przeliczenia
  16. $Lp=$Lp+1;
  17. $tresc.='kod html':
  18. }elseif ($nazwa=="vt03")
  19. {
  20. //jakies przeliczenia
  21. $Lp=$Lp+1;
  22. $tresc.='kod html':
  23. }
  24. echo $nazwa;
  25. }
  26. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 19.07.2025 - 15:06