Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> automatyczny zapis drzewa kategorii do bazy
john_doe
post 23.11.2013, 23:55:39
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


Hej,

tworzę "zaczytywaczkę" towarów do tabeli a także tabelę kategorii do których te towary należą, i teraz:


1. dane towarów pobieram sobie spokojnie zapytaniem z innej bazy danych i otrzymuję takie pola

kod
nazwa
grupa -> to jest w postaci GRUPA/POD_GRUPA/... etc

1. potrzebuję zapisać towar do bazy i przypisać mu do której grupy należy
2. na podstawie pola grupa muszę powpisywać odpowiednie dane do tabeli kategorii

tabela kategorii to
cat_id
cat_label
cat_parent

i moje pomysły jak narazie są takie:
1. Zaczytanie towarów jest proste, bo odczytam sobie SELECTem jedną bazę i na jego podstawie zrobię insert do innej bazy
2. Mam mały mętlik jak podejść do sprawy poprawnego wypełnienia tabeli kategorii bo:

głośno myślę smile.gif
dla każdej odczytanej kartoteki towarowej, dla pola grupy (dla przypomnienia np. GRUPA/POD_GRUPA/), wykonać explode -> pakujemy do tablicy i merge`ujemy ją z jakąś ogólną tablicą, czyli uzyskam dużą tablicę poszczególnych nazwa grup. W następnym kroku lecąc po tej tablicy ogólnej INSERT wszystkiego nadając parent_id wszystkim jednakowe. Przed dodaniem sprawdziłbym czy dana gałąź już istnieje ( to ma być narzędzie a więc pozwalać nie tylko na inicjacyjne zaczytanie )
Teraz przypisanie towaru do grupy jest proste bo wystarczy odczytać nazwę ostatniego elementu w stringu GRUPA/POD_GRUPA/POD_POD_GRUPA odszukać jego id i to id przypisać do tabeli towarów ( lub przy założeniu możliwości przypisania towaru do kilku grup do jakiejś tabeli linkującej te rzeczy )
Mam problem z wypełnieniem kolumny parent_id.


jakieś pomysły z Waszej strony?
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: 27.06.2025 - 14:00