Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]liczenie kosztów przesyłki w koszyku, koszty przesyłki
piekloniebo
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


Witam,
Mam problem z policzeniem kosztów przesyłki osobno dla każdego producenta (vendora) w koszyku:

Mam array $cart w której są dane:
product_id
category_id
quantity
vendor_id

I teraz jak np. mam w koszyku
product_id=1,vendor=1,
product_id=2,vendor_id=2

to koszt przesyłki jest 6 zł

chciałbym móc policzyć koszt dla każdego vendora osobno czyli w tym przypadku powinno być 12 zł.


Jak napisać funkcję która to policzy odpowiednio?

Pozdrawiam,
Darek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
piekloniebo
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 8.06.2009
Skąd: Sopot

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


A mam jeszcze jedno pytanie. Jak mogę stworzyc pętlą tablicę z elementami Vendor_id którą mogę potem przejrzeć tym array_unique?

Na razie mam tak:

  1. for ($i=0;$i<$cart["idx"];$i++) {
  2.  
  3. $vendor_rows[$i]['vendor_id'] = $db->f("vendor_id");
  4.  
  5. }
  6.  

ale to mi tworzy taką tablicę w tablicy
array = (
0
vendor_id=1
1
vendor_id=2

)

Ale to nie o to chodzi bo tego się nie da przeszukać.
Jak zrobić prostszą tablice taką do przeszukania.

Pozdr







Pozdrawiam,
Darek

OK,
Więc zrobiłem tak:
  1. $vendor_rows[] = $db->f("vendor_id");

a później

  1. $vendors_count = (count ( array_unique($vendor_rows)));


i działa!!

Ten kod pochodzi z Virtuemarta z Joomli.
Jeżeli ktoś teź hackuje VM to chętnie wymienię się uwagami.
Już mi się trochę udalo zrobić.
Np. hack pozwalający określać kolor produktu i potem wyświetlać te produkty na froncie.

Można obejrzeć na piekloniebo.pl

Pozdrawiam,
Darek
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 08:48