![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jest jedna tabela1(id,typ) gdzie typy to np. A, B, C, itd Druga tabela2(id,typ,element), która zawiera Elementy danego typu. Jak wykonać zapytanie SQL oraz jak wyświetlić zawartość w postaci listy: Typ A Element 1 Element 2 Typ B Element 3 Typ C Element 4 itd. Z wyświetleniem typu radzę sobie tak:
Ten post edytował rja 24.06.2017, 11:31:14 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za link do rozwiązania, o które mi chodziło.
Jednak dalej walczę z problemem. Próbuję to rozwiązanie wdrożyć w pewien framework (którego nie jestem autorem), a który opiera się o model MVC i chyba o bibliotekę PEAR. W skrócie wygląda to tak, że mam plik model.php:
Wyniki wyświetlane są przez plik produkty.html, w którym mam narazie:
Samo zapytanie do bazy jest poprawne. Potrafię wyświetlić pewne pojedyncze rzeczy z bazy, ,ale niestety nie wiem jak zapisać pętlę FOREACH tak aby otrzymać właściwą tablicę (jak w przykładzie z linku). |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Za bardzo nie wiem w czym masz problem. Sposob rozwiazania jest taki sam niezaleznie czy uzywasz mysql_query() jak ja w przykladzie czy queryAll() jak u ciebie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
No mam problem z zapisaniem pętli foreach.
Przy zachowaniu w pętli tylko zapisu: $this->data['produkty'][]= $row; moja tablica wygląda mniej więcej tak:
Tak się zastanawiam czy w mojej pętli nie brakuje czasem KLUCZA. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No przeciez w moim kodzie wyraznie masz pokazane, ze produkty przypisane sa do kategorii. Ty zas wszystko walisz do produktow
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie wiem jak przenieść to Twoje rozwiązanie.
Nie radzę sobie z tablicami a już z Obiektowym to jeszcze trudniej. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tutaj nie ma nic obiektowego.
$this->costam to naprawde zadna obiektowka. Tablica jak kazda inna. Jak masz to zrobic masz dokladnie pokazane na moim przykladzie. Ty zas u ciebie wsadziles cos ode mnie ze srodka kodu, ignorujac cala reszte i zdziwiony ze cos brakuje. No nie przesadzaj. Wszystko masz podane. Nawet nie musisz zmieniac nazw zmiennych -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem wstawiać dokładnie to co u Ciebie ale wtedy Widok nie wyświetlał nic. Nie rozumiem do końca przekazywania tej tablicy do widoku.
Powalczę jeszcze z tym jutro ale rozumiem że pętla w modelu musi być jeszcze uzupełniona? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale rozumiem że pętla w modelu musi być jeszcze uzupełniona? Tak. zjadles caly blok z kategoriami.Skoro nie ogarniasz narazie swojego widoku to poprostu zrob tak jak u mnie, zmienne lokalne. print_r mozesz dac rownie dobrze w modelu a nie w widoku by sprawdzac czy dane masz juz takie jakie chcesz. Jak juz to osiagniesz to wowczas sie bedziesz martwil jak to przekazac do widoku -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
OK. A czy w tym modelu ogarnie mi to jedna pętla czy też muszę dodać drugą?
Chyba tego nie ogarnę. ![]() Przy pętli:
mam tak:
Przy pętli:
Mam tylko tyle:
A przy pętli:
Mam to:
OK. Coś ruszyło. Przy warunku:
Mam tablice kategorii:
Jak to ugryźć dalej? Ten post edytował rja 27.06.2017, 12:25:03 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Wszystko masz napisane w moim kodzie. W moim kodzie w jednej petli masz tworzenie kategorii oraz dodawanie produktow dla niej. Z niewyjasnionego dla mnie powodu ty ciagle to ignorujesz te dwie rzeczy na raz, albo robisz kategorie, albo produkty, podczas gdy w moim krotkim kodzie masz te dwie obie rzeczy naraz. Czemu ignorujesz fakt, ze te dwie rzeczy istniaja razem a nie kazda z osobna?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Uwierz mi, naprawdę nie ignoruję.
Jest mały postęp:
Przy tym warunku mam:
Dlaczego dla 3 kategorii mam tylko jeden produkt? W bazie na pewno jest trzy. Ten post edytował rja 27.06.2017, 13:02:20 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Uwierz mi, naprawdę nie ignoruję. W poprzednim poscie pokazywales kilka kodow i kazdy zawieral kazda z tych rzeczy oddzielnie, ani razu razem, wiec tak, ignorowales.Czemu masz jeden produkt? Bo w petli ciagle nadpisujesz wszystko. W moim kodzie masz isset(), ktore tylko raz tworza kategorie. Ty za kazdym razem nadpisujesz kategorie. To jest kolejny dobry przyklad jak ignorujesz to co dostales. Moj kod petli ma raptem pare linijek a ty radosnie losowo z niego cos bierzesze ignorujac cala reszte. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie ignoruję tylko się uczę.
Naprawdę doceniam Twoją pomoc. Ok daję isset:
I mam tablice
Mam wszystkie produkty z 3 ale wcięło 4 kategorie. Czego znowu brakuje? Korekta - jak się przyjrzeć to tablica się rozsypała. Ten post edytował rja 27.06.2017, 13:33:35 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czy ty naprawde nie widzisz roznicy miedzy tymi dwoma kodami?
if (!isset($categories[$cid])) - moj if (!isset($cid)) - twoj Naprawde za kazdym razem mam ci pisac ze ignorujesz to co masz podane? Ze losowo bierzesz sobie kawalek kodu i tylko go wstawiasz? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, z if (!isset($categories[$cid]))
mam dalej 3 z jednym produktem. jak pisałem wszystko mi się miesza przez to całe $this->data |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat jak pisałem wszystko mi się miesza przez to całe $this->data A ja ci skolei napisalem bys poki co olal $this->data skoro tego nie ogarniasz i bys operowal jak ja na zmiennych lokalnych. Ale nawet to do ciebie nie dociera
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 8.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Patrząc na inne modele w tym frameworku to dane do widoków przekazywane są w ten właśnie sposób $this->data.
W moim widoku nawet się to teraz wyświetla ale oczywiście jak w tablicy. |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Patrząc na inne modele w tym frameworku to dane do widoków przekazywane są w ten właśnie sposób $this->data. Ok, skup sie teraz choc przez moment: Zapomnij na moment o $this->data. Skoro tego nie ogarniasz ,to zostaw to na chwile. Zrob dokladnie jak w moim kodzie - zmienne lokalne a nie zadne $this. Jak juz zrobisz to poprawnie, wowczas powiem ci jak to przekazac do $this->data. A teraz przeczytaj ten post jeszcze dwa razy, bys mial 100% pewnosci ze dotarlo co napisalem. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:15 |