Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL][PHP] Wypisanie rekordów z bazy MySql za pomocą funkcji
Woytek950
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 2
Dołączył: 6.06.2008
Skąd: jesteś ?

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


Witam. Chcę aby funkcja info pobirała dane z mysql i aby mozna je było wyświelić:

[PHP] pobierz, plaintext
  1. function Info()
  2. {
  3. ConnectMySql();
  4. $sql = mysql_query("SELECT * FROM config") or die("Nie udało się pobrac danych z bazy MySql !<br />".mysql_error());;
  5. $row = mysql_fetch_array($sql);
  6. $autor = $row['autor'];
  7. $theme = $row['theme'];
  8. $site_name = $row['site_name'];
  9. $keys = $row['keys'];
  10. return $theme;
  11. return $autor;
  12. return $site_name;
  13. return $keys;
  14. }
[PHP] pobierz, plaintext



i jak teraz po koleji zwrócić te wartości?

np. Info($autor) (IMG:style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Return w funkcji wykonuje się tylko RAZ i od razu po nim wychodzi z funkcji, więc nie można go użyć jako
  1. return x;
  2. return y;
  3. return z;

W takiej sytuacji funkcja zwróci tylko x, bo do innych nawet nie dojdzie. By zwrócić więcej wyników musisz w return zwrócić strukturę, która na to pozwala. Dla php są to Array i Object. I takich też struktur użyj. Sniffer32 już Ci powiedział w tym temacie o tym, ale przemknęło to między innymi postami, z mniej profesjonalnym podejściem do problemu. Wystarczy do return przerzucić wynik z mysql_query zapisany w postaci tablicy (z wygody najlepiej użyć asocjacyjnej, bo wyniki masz w postaci klucz => wartość, a nie liczba => wartość) i gotowe. Zero motania się. A potem już tylko traktuj zmienną do której przypisałeś wartość funkcji jak zwykłą tablicę.
W przypadku gdy masz kilka konfigów, zrób pętlę while i w niej dodawaj kolejne wiersze (de facto to będą tablice asocjacyjne) do tablicy. Tak powstanie tablica tablic (IMG:style_emoticons/default/smile.gif) A taką także możesz returnem zwrócić. Najważniejsze byś wiedział z jakimi danymi masz do czynienia, dlatego wynik sobie potraktuj najlepiej przez print_r, a sam zobaczysz, że się da tak potraktować dane z bazy.

Ten post edytował thek 23.08.2009, 21:28:40
Go to the top of the page
+Quote Post

Posty w temacie


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 13:37