Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z foreach, Pętla foreach
lukasz_web
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 26.02.2009

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


Opisem wstępu robię w sklepie internetowym moduł szybkich zakupów w którym trzeba podać numer katalogowy i ilość zamawianego produktu

  1.  
  2. foreach($_POST['products_model'] as $products_model) {
  3. $thulequery="SELECT products_id FROM products WHERE products_model = '{$products_model}' ";
  4. $thule_products_id_query = mysql_query($thulequery) or die(mysql_error());
  5. $thule_products_id = mysql_result($thule_products_id_query,0);
  6.  
  7.  
  8. foreach($_POST['quantity'] as $ilosc_p) {
  9.  
  10.  
  11. $cart->add_cart($thule_products_id, $cart->get_quantity($thule_products_id)+$ilosc_p);
  12.  
  13. }
  14. }

Pierwsza pętlą foreach zachowuje się poprawnie dodaje mi numery katalogowe do koszyka w sklepie internetowym. Problem polega z drugą która ma dodawać ilości sztuk do koszyka.

Problem polega na tym że jak dodam taki input:
[nr. kat][ilość]
[0001][2]
[0002][4]

Do koszyka doda mi te dwa numery katalogowe ale ilości sumuje z inputów do pojedynczego numeru katalogowego w KOSZYKU:
[nr. kat][ilość]
[0001][6]
[0002][6]

A powinno dodać do numeru 0001 2 szt. a do numeru 0002 4szt.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukasz_web
post
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 26.02.2009

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


To działa:

  1. case 'add_listing' :
  2.  
  3. $query_price_to_guest_result = ALLOW_GUEST_TO_SEE_PRICES;
  4.  
  5. if ((($query_price_to_guest_result=='true') && !(tep_session_is_registered('customer_id'))) || ((tep_session_is_registered('customer_id')))) {
  6.  
  7. if (isset($_POST['products_id'])) {
  8.  
  9. $tablica = $_POST['products_id'];
  10.  
  11. $ilosc = $_POST['quantity'];
  12.  
  13. for($i = 0; $i < sizeof($tablica); $i++)
  14.  
  15. {
  16.  
  17. if ((int)$ilosc[$i] > 0) {
  18.  
  19. $attributes_tab = $_POST['atrib'];
  20.  
  21. if (isset($attributes_tab[$tablica[$i]])) {
  22.  
  23. $tabs = substr($attributes_tab[$tablica[$i]],0,strlen($attributes_tab[$tablica[$i]])-1);
  24.  
  25. $tabsa = explode(',',$tabs);
  26.  
  27. $attributes = array();
  28.  
  29. for($b = 0; $b < sizeof($tabsa); $b++) {
  30.  
  31. $podtablica = explode(':',$tabsa[$b]);
  32.  
  33. $attributes[$podtablica[0]] = $podtablica[1];
  34.  
  35. }
  36.  
  37. $cart->add_cart($tablica[$i], $cart->get_quantity(tep_get_uprid($tablica[$i], $attributes))+$ilosc[$i], $attributes);
  38.  
  39. } else {
  40.  
  41. $cart->add_cart($tablica[$i], $cart->get_quantity($tablica[$i])+$ilosc[$i]);
  42.  
  43. }
  44.  
  45. }
  46.  
  47. }
  48.  
  49. }
  50.  
  51. tep_redirect(tep_href_link($goto, tep_get_all_get_params(array('action', 'pid'))));
  52.  
  53. } else {
  54.  
  55. $navigation->set_snapshot();
  56.  
  57. tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
  58.  
  59. }
  60.  
  61. break;
  62.  


Ale dodaje po ID produktu (products_id) a nie po numerze katalogowym (products_model), próbowałem to przerobić by po products_model dodawał.
Go to the top of the page
+Quote Post

Posty w temacie
- lukasz_web   [PHP]Problem z foreach   30.10.2013, 10:18:08
- - SmokAnalog   Przeanalizuj taki kod: [PHP] pobierz, plaintext $p...   30.10.2013, 10:48:27
- - lukasz_web   Dzięki ale nadal ten sam wynik: [nr. kat][ilość] [...   30.10.2013, 10:59:08
- - SmokAnalog   To coś źle robisz. Pokaż formularz.   30.10.2013, 11:05:06
- - lukasz_web   Pełen kod z twoja zmianą: [PHP] pobierz, plaintex...   30.10.2013, 11:12:45
- - SmokAnalog   Tak myślałem, masz błąd w formularzu. Usuń indeksy...   30.10.2013, 11:20:49
- - lukasz_web   Za rady wielki + Ale nadal jest efekt ten sam, jeż...   30.10.2013, 11:35:17
- - SmokAnalog   Jesteś pewien, że prawidłowo używasz tej metody do...   30.10.2013, 11:39:55
- - lukasz_web   To działa: [PHP] pobierz, plaintext case 'add_li...   30.10.2013, 11:42:00
- - SmokAnalog   Zrób taki test jak napisałem powyżej i pokaż wynik...   30.10.2013, 11:46:35
- - lukasz_web   Zrobiłem test i nic mi nie zwraca. CytatJesteś pew...   30.10.2013, 12:00:48
- - SmokAnalog   Jak to nic nie zwraca? Coś musi zwracać. Przed tą...   30.10.2013, 12:06:07
- - lukasz_web   Dokładnie w złym miejscu wpisałem sorki ale mam ju...   30.10.2013, 12:12:58
- - SmokAnalog   I mamy buga z mojej strony. W całym moim fragmenci...   30.10.2013, 12:18:54
- - lukasz_web   Działa! Jest idealny efekt array(2) { [...   30.10.2013, 12:25:59
- - SmokAnalog   Jak jesteś z Krakowa to zaproszenie przyjęte   30.10.2013, 12:32:01
- - lukasz_web   Kurcze kawałek mam ja z wielkopolski podziękować   30.10.2013, 12:33:09


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

 



RSS Aktualny czas: 10.10.2025 - 07:02