Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Pobieranie całej tabeli..., ...klasy i obiekty
Lee
post 27.07.2006, 17:23:13
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Mam taką oto klase którą pobieram dane pierwszego wpisu z wybranej tabeli
  1. <?php
  2. class poloczenie {
  3. public $wykonaj;
  4. public $wynik;
  5. public $zapytanie;
  6.  
  7. public function __construct($host, $user, $pass, $db_name) {
  8. echo 'Wywołanie konstruktora <br />';
  9. @$this -> wykonaj = mysql_connect($host, $user, $pass) or die ("Wywołanie połączenia z bazą danych nie powiodło się");
  10. @mysql_select_db("$db_name") or die ("Nie udało się wybrać podanej bazy danych !");
  11. }
  12. public function num_rows($zapytanie) {
  13. @$this -> wykonaj = mysql_query($zapytanie) or die ("Błąd w 14 linii");
  14. @$this -> wynik = mysql_num_rows($this -> wykonaj) or die ("Błąd w 15 linii");
  15. return $this -> wynik;
  16. }
  17. public function fetch_assoc($zapytanie) {
  18. @$this -> wykonaj = mysql_query($zapytanie) or die ("Błąd w 20 linii");
  19. @$this -> wynik = mysql_fetch_assoc($this -> wykonaj) or die ("Błąd w 21 linii");
  20. return $this -> wynik;
  21. }
  22.  
  23. }
  24.  
  25. $poloczenie= new poloczenie('host', 'uzytkownik', 'haslo', 'nazwa bazy danych);
  26. echo 'Wykonujemy proste zapytanie (';
  27. $poloczenie -> zapytanie = "SELECT * FROM test";
  28. echo $poloczenie -> zapytanie;
  29. $query = $poloczenie -> fetch_assoc($poloczenie-> zapytanie) or die ("Błąd w 31 linii");
  30. echo ')<br />Wynik zapytania = <b>';
  31. echo $query['nazwa'];
  32. echo'</b>';
  33. ?>

no i jak przerobić tą klase żeby pobierała wszystkie wpisy z danej tabeli...widziałem w kursie taki przykład (co pobiera wszystkie dane) ale nie umiem tego skryptu tak przerobić bo tamten był pod PostgreSQL i trochę inaczej wyglądał rolleyes.gif


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
KG-
post 27.07.2006, 17:54:00
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 30.05.2006

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


Tak ciężko poszukać? smile.gif
Temat: phpPobieranie wartosci CAEGO zapytania do zmiennej
To powinno cię naprowadzić na to co musisz zmienić.
Go to the top of the page
+Quote Post
Lee
post 27.07.2006, 18:03:20
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


liniowo to już dawno wiedziałem jak, mi chodzi o OOP rolleyes.gif

poradziłem sobie sam winksmiley.jpg - nabieram wprawy ^^
  1. <?php
  2. class sql {
  3. public $wykonaj;
  4. public $wynik;
  5. public $zapytanie;
  6. public $row;
  7.  
  8. public function __construct($host, $user, $pass, $db_name) {
  9. echo 'Wywołanie konstruktora <br />';
  10. $this -> wykonaj = mysql_connect($host, $user, $pass) or die ("Wywołanie połączenia z bazą danych nie powiodło się");
  11. mysql_select_db("$db_name") or die ("Nie udało się wybrać podanej bazy danych !");
  12. }
  13. public function num_rows($zapytanie) {
  14. $this -> wykonaj = mysql_query($zapytanie) or die ("Błąd w 14 linii");
  15. $this -> wynik = mysql_num_rows($this -> wykonaj) or die ("Błąd w 15 linii");
  16. return $this -> wynik;
  17. }
  18. public function mysql_query($zapytanie) {
  19. $this -> wykonaj = fetch_assoc($zapytanie) or die ("Błąd w 20 linii");
  20. while ($this -> wynik = mysql_fetch_assoc($this -> wykonaj)){
  21. $this -> row[] = $this -> wynik;
  22. }
  23. return $this -> row;
  24. }
  25.  
  26. }
  27.  
  28. $sql= new sql('host, 'user', 'pass', 'db_name');
  29. echo 'Wykonujemy proste zapytanie (';
  30. $sql -> zapytanie = "SELECT * FROM test";
  31. echo $sql -> zapytanie;
  32. echo ')<br />';
  33. echo $sql -> row;
  34. $Test = $sql -> fetch_assoc($sql -> zapytanie);
  35. foreach ($Test as $lista){
  36. echo $lista['nazwa'].'<br />';
  37. }
  38.  
  39. ?>

OOP rządzi bo teraz nie musze za każdym razem wpisywać tego całego kodu (mysql_query i mysql_fetch_assoc) tylko pisze
  1. <?php
  2. $nazwa_tablicy = $sql -> mysql_query($sql -> zapytanie)
  3. ?>

i już mam smile.gif

jeszcze raz napisze, że OOP jest super smile.gif wcześniej to była dla mnie czarna magia teraz zrobiła się szara a niedługo bedzie biała (dopiero 2/3 pierwszej częsci kursu z webcity.php opanowałem)

Pozdrawiam

Ten post edytował Lee 27.07.2006, 19:59:41


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
Jim
post 27.07.2006, 18:12:04
Post #4





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 27.07.2005

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


żeby wyświetlić dane i pobrać ilość rekordów w wyniku 2 razy zostaje wykonane to samo zapytanie, niepotrzebnie.

  1. <?php
  2. public function num_rows($wynik=null) {
  3. return mysql_num_rows( (!empty($wynik)) ? $wynik : $this->wynik );
  4. }
  5. ?>

smile.gif

Ten post edytował Jim 27.07.2006, 18:13:11
Go to the top of the page
+Quote Post
Lee
post 27.07.2006, 18:24:03
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Tamta funkcja nie jest mi potrzebna, ale dzięki za fatyge aby mnie poinformować o moim niezamiezonym błędzie smile.gif

Pozdrawiam


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
nospor
post 28.07.2006, 08:13:52
Post #6





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




lekki OT:

Cytat
("Błąd w 14 linii");
("Błąd w 15 linii");
("Błąd w 20 linii");

No to teraz dodaj sobie cos na początku skryptu, albo gdzies w srodku i.... caly system komunikatow szlag trafil... i musisz poprawiac wszystkie linie.
Ale jak zwykle z pomocą nadchodzi nieoceniony manual:
http://pl.php.net/manual/pl/language.const....predefined.php


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

"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
Lee
post 28.07.2006, 11:58:22
Post #7





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Ten "skrypt" jest dla utrwalenia wiadomości i raczej napewno nie bedzie używany w przyszłości winksmiley.jpg


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
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:36