![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pytanie czy oplacalne jest tworzenie funkcji ktora zrzucalaby w petli wynik danego zapytania do tablicy dwuwymiarowej (wiecej niz jeden rekord), a nastepnia zwracalaby ta tablice poprzez return ? Za: - bardziej przejrzysta i poukladana struktura kodu - po wywolaniu funkcji operacja na samej tablicy Przeciw: - niepotrzebne powtarzanie dwoch petli - jedna to odczyt z bazy i wrzucanie do tablicy, druga to odczyt z tablicy Czy w tym przypadku oplaca sie tworzyc dodatkowa funkcje ? Oczywiscie moge sobie napisac oba sposoby i porownac czas wykonania ale niestety same wyniki czasowe za wiele mi nie mowia. |
|
|
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Na takich operacjach opierają się wszystkie systemy szablonów. Musisz iść na kompromisy między optymalizacją a przejrzystością i wygodą pracy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ok. W takim razie postanowilem zrobic to sposobem opisanym w pierwszym poscie.
Niestety mam pewne problemy :/ Jezeli funkcja zwraca mi tablice jednowymiarowa to robie tak:
wtedy dane pola zawieraja sie w zmiennych "id, from, to". Sprawa sie troche komplikuje jak mam tablice dwuwymiarowa. Proboje to robic tak ... Miejsce w funkcji gdzie wrzucam wynik zapytania do tablicy dwuwymiarowej.
Pozniej juz poza funkcja proboje ja pobrac nastepujaco ...
Niestety to nie dziala. Wyswietla tylko: Kod Notice: Undefined offset: 6 in C:Program Files...test.php on line 63 Notice: Undefined offset: 5 in C:Program Files...test.php on line 63 Notice: Undefined offset: 4 in C:Program Files...test.php on line 63 Notice: Undefined offset: 3 in C:Program Files...test.php on line 63 Notice: Undefined offset: 2 in C:Program Files...test.php on line 63 Myslalem aby funkcje list() wywolywac w petli i po jednym wierszu pobierac dane ale wydajniej bedzie zrobic to za jednym razem. Bede wdzieczny za jakies wskazowki jak to rozwiazac. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
jak dodajesz apostrofy to jest wartość traktowana jako string, to tak na szybko Łukasz -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Już sprawdzalem zarowno z apostrofami jak i bez ale problem tkwi w czym innym :/
Jakies pomysly ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Sypią się błędy, bo twoja zmienna $id zawiera:
Kod array( $msg_list[0]['id'] $msg_list[0]['msg_from'] $msg_list[0]['msg_to'] $msg_list[0]['subject'] $msg_list[0]['text'] $msg_list[0]['date'] $msg_list[0]['status'] ) $msg_from zawiera: Kod array( $msg_list[1]['id'] $msg_list[1]['msg_from'] $msg_list[1]['msg_to'] $msg_list[1]['subject'] $msg_list[1]['text'] $msg_list[1]['date'] $msg_list[1]['status'] ) itd. Zamień miejscami [$i] i ['id'] (analogicznie dla wszystkich elementów tablicy $msg_list), to ruszy. [EDIT] Jednak nie ruszy: Cytat("MANUAL") Notatka: list() działa tylko z tablicami o indeksach liczbowych zakładając że indeksy zaczynają się od 0. Chyba że ominiesz to w ten sposób:
Ten post edytował Kicok 26.01.2008, 20:19:37 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 2 Dołączył: 1.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Bardzo dziekuje za pomoc !
Co do tych indeksow to zmienilem na liczbowe, gdyz wlasciwie nie ma to zadnego znaczenia. Trzeba unikac rzeczy zbednych ![]() I tak w funkcji list() definiuje zmienne ktore beda uzywane poza funkcja. Jeszcze raz dzieki. Pozdrawiam J. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:46 |