Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wyciągnięciem danych z zapytania ...
Forum PHP.pl > Forum > Przedszkole
kamillo121
Witam, otóż mam jeden plik functions.php i index.php.
W functions.php napisałem sobie taką funkcję :
CODE
function pokazTematy(){
$sql="SELECT * FROM `forum_tematy` ";
$result=mysql_query($sql)
or die(mysql_error());
$row=mysql_fetch_array($result);
return $row;
}


W index.php includuje , łączę się z bazą danych , wybieram bazę przypisuję zmiennej $tab=pokazTematy(); no i właśnie i dalej mam problem ....
Próbowałem while ale udaje mi się wyciągnąć tylko jedno pole i to w nieskończoność ...(nie mogę np. napisać w środku pętli while $tab=mysql_fetch_array($result); bo nie ma takiej zmiennej )
Zaś pętlą foreach zwrócę tylko jeden rekord ...
Nie mam pojęcia jak to zrobić i nie wiem czy w ogóle się da tak zrobić czy od razu w funkcji trzeba wyciągać dane , pomoże ktoś ?
potreb
Wyprintuj sobie funkcje i dostaniesz wynik twojego pytania.
kamillo121
No co , wyskoczy mi array (gdy wpiszę print(pokazTematy()); )


Proszę pomóżcie, bo to już któreś z kolei forum na którym pytam i nie dostaje odp sad.gif
potreb
  1. <?php
  2. print_r(mojafunkcja());
  3. ?>


Jeżeli chcesz aby zwróciła ci całą tablicę musisz zastosować pętlę dla funkcji a dane zapisać znów do tablicy.
TrevorGryffits
Dokładnie rzecz biorąc to wy"var_dump"uj

#Edit: Eh. A tak mało brakowało;)
kamillo121
czyli np
wyciągnąć np
funkcję przypiszę do zmiennej $tab

while($tab ){
$tytul->assign['tytul']=$tab['tytul'];
$autor->assign['autor_tem']=$tab['autor_tem'];
$data->assign['data_dodania']=$tab['data_dodania'];
}
I potem każda pętla dla każdej tabeli ? jeżeli całkiem wszystko pokręciłem to przepraszam ale już o to pytałem i mam tak namieszane że hej sad.gif


Po var_dump mam

array(10) { [0]=> string(1) "1" ["id"]=> string(1) "1" [1]=> string(9) "Regulamin" ["tytul"]=> string(9) "Regulamin" [2]=> string(7) "Kamillo" ["autor_tem"]=> string(7) "Kamillo" [3]=> string(19) "2009-07-26 00:21:00" ["data_dodania"]=> string(19) "2009-07-26 00:21:00" [4]=> string(29) "Regulamin : 1 2 3 4 5 6" ["watek"]=> string(29) "Regulamin : 1 2 3 4 5 6" }
potreb
  1. <?php
  2. function pokazTematy(){
  3. $sql="SELECT * FROM `forum_tematy` ";
  4. $result=mysql_query($sql)
  5. while($row=mysql_fetch_array($result)) {
  6. $tab[$row['id']] = array('id' => $row['id'], 'title' => $row['title']);
  7. }
  8. return $tab;
  9. }
  10.  
  11. foreach( pokazTematy() as $key => $value) {
  12. echo $value;
  13. }
  14. ?>


Podstaw swoje dane w tablicy i zobaczysz efekt, Bardzo proste rozwiązanie?
kamillo121
No i wyskakuje mi ArrayArrayArray
potreb
  1. <?php
  2. foreach( pokazTematy() as $key => $value) {
  3. echo $value['id'] . $value['title'];
  4. }
  5. ?>


Musisz dopisać do value klucz z tablicy
TrevorGryffits
Już miałeś wyżej podane co zrobić jak zwykłe print czy echo nie działa i pokazuje tylko Array. Zrób co trzeba i zobacz jak musisz się dostać do wnętrza tej tablicy w pętli.

Edit: Znowu...
kamillo121
Już za to pytanie przepraszam "Potreb" (tak prosta odpowiedź) ale już mam pod koniec drugiego dnia taki mętlik że hej ... Dzięki ogromne , czuję, że będę tutaj częstym gościem smile.gif
Pomogłeś niesamowicie mi ...
Teraz muszę tylko zrozumieć to przypisanie
while($row=mysql_fetch_array($result)) {
$tab[$row['id']] = array('id' => $row['id'], 'tytul' => $row['tytul'], 'autor_tem'=>$row['autor_tem'], 'data_dodania'=>$row['data_dodania'], 'watek'=>$row['watek']);
} haha.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.