Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Pobieranie danych do tablicy.
licha
post 14.09.2012, 15:47:47
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

Ostrzeżenie: (0%)
-----


Witam mam prostą tabelę w bazie danych o nazwie "lista" i tam 2 tabele " id " i "user"
i teraz mam kod który sprawdza ile mam wyników i to działa więc stworzyłem sobię pętle for.
Wychodzi np że mam 7 id więc pętla 7 razy się wykona i wewnątrz pętli chciałbym pobierać tak
  1. $zapytanie = mysql_query("SELECT id FROM lista");
  2. $ilosc = mysql_num_rows($zapytanie);
  3.  
  4.  
  5.  
  6.  
  7. for($i=0;$i<$ilosc;$i++)
  8. {
  9.  
  10.  
  11. //kod
  12.  
  13. }



Wychodzi np że mam 7 id więc pętla 7 razy się wykona i wewnątrz pętli chciałbym pobrać teraz wszystkie rekordy z tabeli "user" i wyświetlać je w każdej pętli więc moje dotychczasowe doświadczenia i umiejętności pozwoliły mi sklecić coś takiego :
  1. for($i=0;$i<$ilosc;$i++)
  2. {
  3.  
  4. $zapytanie = mysql_query("SELECT gracz FROM lista");
  5. $user = mysql_fetch_array($zapytanie, MYSQL_NUM);
  6.  
  7. $tymczasowa =mysql_query("SELECT login FROM user WHERE id='$user[$i]'");
  8. $tymczasowa = mysql_fetch_array($tymczasowa, MYSQL_NUM);
  9. $nick=$tymczasowa[0];

wydaje mi się że mysql_fetch_array powinno tworzyć tablicę asocjacyjną lub numeryczną więc teoretycznie zapis w 2 pętli
$user[1] powinien wyświetlić 2 rekord pobrany z bazy. Na moje nieszczęscie wyświetla się tylko 1 pętla z zapisem $user[0] i nie wiem dlaczego
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post 14.09.2012, 16:02:23
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Nie wiem w jakim celu najpierw liczysz ile masz wyników, a później z tej samej tablicy pobierasz jeszcze jedną komórkę?

  1. SELECT id FROM lista

  1. SELECT gracz FROM lista


skoro można to zrobić jednym zapytaniem:

  1. SELECT id, gracz FROM lista


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
licha
post 14.09.2012, 20:57:00
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

Ostrzeżenie: (0%)
-----


Nie o to mi chodziło.
Poradzi mi ktoś coś ? Do teraz nie udało mi się tego zrobić. pls Pomocy załóżmy że mam teraz taki kod :

  1. $zapytanie = mysql_query("SELECT id FROM lista");
  2. $user = mysql_fetch_array($zapytanie, MYSQL_NUM);
  3. $ilosc = mysql_num_rows($zapytanie);


i chcę wypisać wszystkie ID.
Go to the top of the page
+Quote Post
nospor
post 14.09.2012, 21:01:00
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Rety.... czemu wy się boicie tego manuala jak diabeł wody święconej?? Czy on gryzie?!

http://in2.php.net/mysql_fetch_array
I masz tam podany przykład z WHILE - skorzystaj z niego. WHILE to jest pętla...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
licha
post 15.09.2012, 09:36:26
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 7.12.2010

Ostrzeżenie: (0%)
-----


o pętli while nie pomyślałem a ten tekst czytałem. THX działa już.

  1. $t=0;
  2. while ($row = mysql_fetch_array($zapytanie, MYSQL_NUM)) {
  3. $w[$t]=$row[0];
  4. $t=$t+1;
  5. }

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:15