![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Napisałem sobie dwie metody w klasie, które mają pobierać mi pewne dane z bazy MySQL. Dane są tak zorganizowane, że są powiązane jedną kolumną. Chcę sobie wyświetlić te dane, więc stworzyłem pierwszą metodę, która mi pobiera jakby 'dane główne'. Wyświetlam je w pętli, a następnie w tej samej pętli tak jakby przy każdej iteracji wywołuję kolejną metodę, która ma się łączyć z bazą danych i pobierać dane powiązane z konkretnym ID z konkretnej iteracji. No i tu gdzieś mam błąd, bo wyrzuca mi niestworzone ilości danych, których być nie powinno. Coś zdecydowanie jest w tej pętli, bo jak 'sztywno' przypiszę ID i przekażę je do drugiej metody poza pętlą to pobiera mi ładnie to co chcę ... Da się jakoś obsłużyć takie połączenie do bazy danych ?
metoda 1:
metoda 2:
i wywołanie:
błędu składniowego nie ma, jeśli tu się wkradła literówka to proszę ją odpuścić, bo u mnie kod działa, ale niepoprawnie. Z góry dziękuję za pomoc. Pozdrawiam ! Ten post edytował Mefiuu 12.06.2014, 15:12:15 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie ogarniam.... za pierwszym razem bierzesz wszystkie dane z tabeli DATA tylko po to, by za chwile w petli znowu leciec po dane z tabeli DATA..... gdzie tu sens i logika? To są dwie różne bazy danych bo z kodu tak nie wynika? Jesli wiec to jest jedna i ta sama baza danych, i ciagle latasz po tej samej tabeli, to poraz kolejny: gdzie tu sens i logika?
-------------------- "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: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
w dużym skrócie chodzi o to, że:
pobieram sobie wszystkie dane za pierwszym razem (troszeczkę źle skonstruowałem zapytanie, powinno być pobranie niektórych danych), następnie je wyświetlam w pętli. Podczas wyświetlania w pętli wywołuję kolejną metodę, która ma za zadanie pobrać dane z tej samej tabeli w zależności od konkretnego numeru ID z tabeli. Jak można to obejść żeby to było logiczne i działało ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pomijajac juz bezsens tego kodu i brak logiki, to dane ci się mnożą jak kroliki, bo nie zerujesz tablicy $another przez co ona puchnie i z każdą kolejną iteracją po MAIN, wyswietlasz od nowa coraz to wiekszą tablice ANOTHER - stad namnożone rekordy.
-------------------- "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: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
rzeczywiście, masz w 100% rację, zwykłe unset() na tablicy pozwoliło mi uniknąć mnożenia się danych.
Nie jestem z tych, którzy ślepo wierzą w swój kod, a skoro mówisz że jest bezsensowny to pewnie tak jest (zresztą sam trochę teraz to dostrzegam). Jednak chciałbym go poprawić, czym się kierować ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Poprostu skoro pobierasz raz dane z DATA do MAIN, to te dane juz tam są. NIe ma sensu potem oddzielne po każdą daną znowu leciec do bazy, bo przeciez te dane juz są w tablicy MAIN
-------------------- "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: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
ja pierdzielę ... uznajmy, że nie było tego pytania, proszę. Chyba za mało snu
![]() teraz jedyne co mnie zastanawia to fakt, dlaczego mi w jednym przypadku pobiera daną, podając że jest powiązana z innym rekordem, gdy w rzeczywistości jest przywiązana do innego rekordu. Ale nad tym pomyślę. Dziękuję. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:36 |