![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Chciałbym zrobić stronę, na której będzie można dodawać kategorie oraz produkty. Będzie to wyglądać tak: -Kategoria 1: -------Produkt 1, -------Produkt 2, -------Produkt 3, -Kategoria 2: -------Produkt 1, -------Produkt 2, -------Produkt 3, -Kategoria 3: -------Produkt 1, -------Produkt 2, -------Produkt 3, Utworzyłem bazę o nazwie "baza1", w której znajdują się dwie tabele: "kat" oraz "poz". W tabeli "kat" występują następujące pola: "id", "kategoria". W tabeli "poz" występują następujące pola: "nazwa", "kategoria_kat". Następnie zabrałem się do pisania skryptu. ![]() Problem w tym, że jest to zupełnie nie zautomatyzowane. Za każdym razem, musiałbym do strony dodawać w kodzie linijki i zmieniać numery przy SELECT. Jak to zautomatyzować? Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 1 Dołączył: 27.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przede wszystkim strasznie komplikujesz. powinno to być tak.
1. Tworzysz 2 tabelki (1 kategorie : z polami np : id_kat, nazwa_kat | 2 Produkty - gdzie robisz pola id_prod, nazwa_prod, id_kat) 2. Piszesz zapytanko wypisujące np ja to robię choćby tak:
Możesz dodać grupowanie po id_kat, i tyle Ten post edytował marck 21.09.2010, 23:45:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mhm, więc zrobiłem tak jak doradziłeś. Jednak efekt jest inny. Z moim while i dwoma SELECTami mam możliwość tak zapętlić te wyniki, aby kategoria była wyświetlana jako nagłówek. W Twoim przykładzie kategorii w ten sposób nie wyświetlę. Nie jestem programistą i z algorytmów byłem noga. Najzwyczajniej nie mieści mi się w głowie działanie pewnych rzeczy. Ale dalej proszę o pomoc lub żebyś wytłumaczył jak można do nagłówka wstawić kategorię z Twojego przykładu:
![]() EDIT: Cel osiagnalem w ten sposob. Zapetlilem to uzywajac FOR i zmniejszajac $n. Pytanie: Czy jest to poprawne pod wzgledem "gramatycznym" jezyka php?
Ten post edytował nama 22.09.2010, 09:48:18 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 141 Dołączył: 11.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Z tego co rozumiem chcesz pogrupować produkty do kategorii.
To co napisałeś jest bez sensu bo w pętli wykonujesz zapytania, które mogłeś wykonać tylko raz. To jest dla książek i z użyciem PDO ale powinieneś zrozumieć o co chodzi: Kategorie: id | nazwa Ksiazki: id | nazwa | wydawnictwo | kategoria_id
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hm... jednak nie do końca rozumiem. Czy możesz mi pokazać wynik tego kodu w przeglądarce?
Czy jeżeli kod, który napisałem zrobię tak aby było tylko jedno zapytanie to czy będzie to poprawne pod względem gramatycznym języka php? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 389 Pomógł: 141 Dołączył: 11.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Będzie nazwa kategorii i przypisane do niej książki. Zrób sobie dwie tabele albo kod dostosuj do swoich to zobaczysz jak wygląda. Kod jest prosty jak nie rozumiesz to w manualu masz opisy funkcji. Ale i tak powinieneś przerzucić się czy to na mysqli czy pdo.
Poprawne jest wszystko co działa, tylko że jedno jest bardziej optymalne inne mniej. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dalej tego nie rozumiem... Już kilka dni próbuje to zrobić i wszystko jest dobrze gdy mam mieć tylko jedną kategorię i pozycje do niej. Robię to przy pomocy dwóch zapytań MYSQL oraz dwóch pętli while.
Efekt jest taki, że wyniki układają się tak jak chciałem: - Kategoria1 ----- Pozycja1 ----- Pozycja2 ----- Pozycja3 - Kategoria2 ----- Pozycja1 ----- Pozycja2 ----- Pozycja3 - Kategoria3 ----- Pozycja1 ----- Pozycja2 ----- Pozycja3 Natomiast nie da się (przynajmniej ja nie umiem) zrobić tego samego dla kategorii, podkategorii i pozycji czyli: - Kategoria1 --- Podkategoria1 ------ Pozycja1 ------ Pozycja2 ------ Pozycja3 --- Podkategoria2 ------ Pozycja1 ------ Pozycja2 ------ Pozycja3 --- Podkategoria3 ------ Pozycja1 ------ Pozycja2 ------ Pozycja3 Czy ktoś może mi jeszcze pomóc? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:34 |