Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak rozwiązać zarządzanie produktami?
Forum PHP.pl > Forum > Przedszkole
xajart
Witam zabardzo nie wiedziałem gdzie ten temat wrzucić, wybrałem przedszkole - ale tematyczie też chyba tutaj to nie pasuje.

A mianowicie mam problem z rozwiązaniem dodawania i edycji produktów, dla serwisu ala-sklepowego. Problem dotyczy tego że jest to serwis z częściami samochodowymi. Przy dodawaniu produków ma być opcja dodawania marek i modeli samochodów do których ten produkt pasuje. Baze danych modeli i marek mam zbudowaną na zasadzie:
marki aut
id | marka

modelei aut
id | id_marka | model

Opcja dodawania marki i modelu samochodu jest dostępna w osobnym formularzu z PA.
Kwestia w tym że kiedy klient będzie dodawał nowe produkty, musi przyporządkować produkt do wybranej marki i modelu samochodowego, przy wyborze jednej opcji to nie problem. Ale w jaki sposób najlepiej rozwiązać opcje przypisania produktu do kilku marek i modeli samochodów (zwłaszcza jeżeli marek samochodów jest około 30 i więcej) a modeli 4 razy tyle. 

Myslałem zrobić to na zasadzie jednej listy wielokrotnego wyboru na zasadzie takiej:
Kod
<select name="nazwa" multiple="multiple">
<optgroup value="'.$id_marka.'" label="Daihatsu">
 <option value="'.$id_model.'">Feroza</option>
 <option calue="'.$id_model.'">Rocky</option>
 <option calue="'.$id_model.'">...</option>
</optgroup>
</select>


W jakiejś pentelce by wyświetlić tą listę, tylko kiedy marek i modeli w sumie bedzie ponad 100pozycji to taka lista bedzie niewygodna w użyciu. W bazie danych produktu były by dwie kolumny "marka" i "model", zaś zapis wybranych kilku pozycji wyglądał by na zasadzie dopisywania po średniku id wybranej marki/modelu. 

Ale jak to zrobić by było to wygodne w obsłudze, by dodanie produktu zajmowało jak najmniej czasu (bez przeszukiwania całej listy wszyskich modeli i marek by je przyporządkować). Myślałem coś z użyciem AJAX pola autosugestera (ale to niedokońca chyba dobre rozwiązanie, tymbardziej jeżeli ten co bedzie dodawal produkt np nie będzie pamiętał modelu auta, tylko na podstawie marki kojarzył, że to był ten).

Myślałem też o dynamicznych listach, czyli wybiera klient najpierw markę a potem model (lub wszystkie modele danej marki) kiedy wciśnie dodaj, pod spodem zamieścić listę (wyświetlajacą co zostało dodane) i klient za pomocą tych samych list rozwijalnym może przypisywać kolejne. Zaś na liście wyświetlanej elementów przypisanych obok umieścić możliwość usunięcia wybranego modelu czy marki (w przypadku kiedy klient by się pomylił).  Ale wtedy dokochodzi kolejna kwestia że jeżeli usunie wybraną markę z listy to by automatycznie usuwało również modele które do tej marki są przypisane. 

Dość skomplikowanie to wszystko wychodzi - a mi chodzi o szybkie i wygodne rozwiązanie tego a nie stworzyć sobie kolejny mechanizm nad którym będę musiał sporo czasu posiedzieć by rozważyć wszystkie za i przeciw i zrobić skrypt dobrze działajacy. 

Czekam na jakieś wasze propozycje jak to rozwiazać, pomysły, sugeste a nawet linki do stron gdzie coś takiego jest rozwiązane (bym miał na czym się wzorować).
Daiquiri
Fajnym rozwiązaniem byłyby właśnie "auto uzupełnianie". Sporo przykladów, przykładów i jeszcze raz przykładów formularzy znajduje się na SmashingMagazine.

Osobiście zamiast rozwijanej listy marek i modeli dałabym właśnie autouzupełnianie - rozwiąże to problem list ciągnących się w nieskończoność. Dodatkowo użyłabym filtrowania danych. Dopiero po zatwierdzeniu (kliknięciu) marki wyświetlałyby się modele danej marki w nowym polu z autouzupełnianiem oczywiście party.gif . Do tego przycisk "dodaj następny" - po kliknięciu dodany element pojawiałby się jako miniaturka z możliwością kasowania a formularz czyściłby się i można dodawać kolejne pozycje.

Jeżeli klienci nie pamiętają nazw samochodów wystarczy auto uzupełnianie ustawić tak, aby po kliknięciu w pole rozwijało pełną listę.
iVorIus
Może pomoże tongue.gif
xajart
Z tą dynamiczną listą to mam tak wyszukiwarke zrobioną że po wyborze odpowiedniej marki, dostępna jest lista modeli które są do tej marki przypisane. 


I chyba zrobie tak jak mówisz Daiquiriz tym że uzupełnione o autosugestera.

Bo puki co inne pomysły mi nie przychodzą do głowy by to inaczej rozwiązać, 
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.