![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 23.06.2009 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
W tabeli 'kolory' (id_koloru, nazwa) przechowuje nazwy kolorów. Chciałbym je wszystkie pobrać do zmiennej:
W $wszystkie zapisuje mi się tylko jeden, pierwszy kolor (id = 1) Jak pobrać wszystkie nazwy do tej zmiennej (tablicy) ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Temat stary, ale kolega się uczy z tego forum i się na niego natknął, a to może oznaczać że i inni się natykają. Tak więc troszkę wyjaśnień.
Plan jest taki, że mysql_query łączy się z bazą, ściąga wszystkie pasujące rekordy i ustawia tak zwany kursor (czyli po prostu wybiera sobie z listy jeden rekord który aktualnie "obrabia") na sam początek. wywoływana kilka razy zawsze (albo i nie, ale w przykładzie podanym w wątku zawsze) zwróci to samo. zadaniem funkcji mysql_fetch_***** jest pobrać "aktualny" rekord ze źródła wszystkich rekordów jakie mysql_query wypluło, i ustawić w tej liście ("źródle") kursor na następny, tak żeby przy następnym wywołaniu funkcji mysql_fetch_***** mogła pobrać kolejny rekord i znowu przygotować sobie następny. Kiedy się skończą, zwraca false. Jeśli pętla wygląda tak: while($row=mysql_fetch_array(mysql_query(...))) to mysql_query zwróci listę wszystkich rekordów z kursorem na pierwszym, mysql_fetch_array pobierze ten pierwszy rekord, zwróci i ustawi kursor na liście zwróconej przez mysql_query, na drugi. W kolejnym przebiegu znowu wykona się mysql_query (bo jej wynik nie był składowany w żadnej zmiennej), i znowu zwróci listę wszystkich rekordów, z kursorem ZNOWU ustawionym na pierwszy, który mysql_fetch_array znowu ustawi na drugi, ale jakie to ma znaczenie skoro za chwilę dostanie znowu świeżą listę z kursorem znowu ustawionym na pierwszy. Tyle "znowu" sugeruje pętlę nieskończoną. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:54 |