Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] implode dwóch tablic
Forum PHP.pl > Forum > Przedszkole
mambus
Witam.

Nie mogę poradzić sobie z pewną rzeczą, mianowicie:

piszę moduł, którego zadaniem jest możliwość składania zamówień na wybrane towary. Moja propozycja jaka padła odnośnie działania skryptu:

jest powiedzmy lista 3 produktów, każdy z nich kolejno niech ma swoje unikalne identyfikatory: 2 , 15, 37. Firma, chce zamówić sobie 2 sztuki pierwszego produktu, 3 sztuki drugiego i 5 trzeciego.

Teraz: chcę, aby do bazy wpisywał się następujący string:

2-1;15-3;37-5;

czyli: przed kreską id produktu - za kreską jego liczba a średnik to rozdzielnik dla następnego produktu.

Takie rozwiązanie wybrałem z uwagi na to, że przy wyciąganiu tego z bazy, będzie można to łatwo rozbić przez funkcję explode.

Problem mam ze zrobieniem powyższego stringa...


W formularzu POSTują mi się prawidłowe tablice, ale implode nie może mi tego złączyć w całość bo albo "array" albo że podałem nie prawidłowy argument dla funkcji...

ma ktoś jakiekolwiek propozycje ?

Bardzo proszę o pomoc... przeszukałem nasze forum, inne fora i porady w internecie i nie bardzo... podkreślam ze nie chodzi o array_merge.
mat-bi
Ja bym w ogóle inaczej zaprojektował bazę - zrobiłbym tabele zamowione_produkty, w nim id_zamowienia, product_id, ilosc i tak bym potem tylko wyciągał za pomocą zapytania
Mustava
może nie na temat, ale po co zajmować skrypt najpierw łączniem a później dzieleniem tego? - może jednak prościej by było by to silnik bazy zajął się takimi sprawami (przy pomocy odpowiednich sql'i i sktruktury tabel)
worek
Popieram przedmówcę, Odpowiednie zaprojektowanie tabeli od początku ułatwi pracę i skalowalność bazy danych. Nie będzie potem trzeba kombinować z explode i innymi bajerami a wystarczy np JOIN z sql. Pozdrawiam
mambus
Dziękuje i doceniam Wasze porady, ale mimo wszystko chciałbym się skupić na moim pomyśle. Nie jest to jednostronne zastosowanie, bo później biuro będzie pobierać te zamówienia i odsyłać do nadawców ze zweryfikowaną liczbą produktów.

Skupmy się na tym, jak połączyć ze sobą te dwie tablice...

jedna to:
  1. $id_product = $_POST['id_product'];

unikalny identyfikator produktu,

a druga to:
  1. $product = $_POST['product'];

gdzie jest to liczba zamówionego produktu

hmm...
thek
Powiedz w jakiej formie masz te produkty i ilości z formularza przez $_POST podane, bo teraz jest zgadywanka co z czym jak połączyć, bo nie wiadomo nic. Zrób var_dump($_POST) i powiedz co jest czym, to będzie można Ci pomóc.

Teraz bowiem nie wiemy jak wygląda u Ciebie kwestia przechowywania kilku produktów. Czy masz w formularzu jeden produkt za każdym razem czy od razu kilka za jednym zamachem, czy zamówienia się mają sumować jakoś?
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.