Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> prezentowanie wyników w mysqli
PawelC
post
Post #1





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Hej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wreszcie udało mi się, nawiązać połączenie z bazą przy pomocy mysqli i wykorzystaniem połączenia do pobierania danych. Wrzuciłem połączenie i wybór bazy w konstruktor, bo jest on zawsze automatycznie ładowany, i w momencie pobierania danych narodziło się pytanie. Mam taki kod:
  1. <?php
  2.  
  3.  
  4.        class sqli
  5.            {
  6.                
  7.            public function __construct($host,$login,$haslo,$baza)
  8.            {
  9.                $this->mysqli=new mysqli($host,$login,$haslo,$baza);
  10.            }
  11.            
  12.            
  13.            
  14.            public function dane($query)
  15.            {
  16.                $result=$this->mysqli->query($this->query=$query);
  17.                while($data=$result->fetch_object()){
  18.                
  19.                    echo $data->kategoria;
  20.                }
  21.            }
  22.        
  23.            
  24.        }
  25.  
  26. $sqli=new sqli('localhost','root','','katalog');
  27. $sqli->dane("select kategoria from kategorie");
  28.  
  29. ?>

I teraz chodzi mi o pobieranie danych, czy za każdym razem muszę robić osobno takie coś:
  1. <?php
  2. public function dane($query)
  3.             {
  4.                 $result=$this->mysqli->query($this->query=$query);
  5.                 while($data=$result->fetch_object()){
  6.                
  7.                     echo $data->kategoria;
  8.                 }
  9. ?>

W tym kodzie powyżej pobieram nazwę kategorii, a teraz jakbym chciał pobrać podkategorie z innej tabeli, to muszę na nową stworzyć to samo, tyle że, ze zmienionymi danymi, czyli:
  1. <?php
  2. public function podkategorie($query)
  3.             {
  4.                 $result=$this->mysqli->query($this->query=$query);
  5.                 while($data=$result->fetch_object()){
  6.                
  7.                     echo $data->podkategoria;
  8.                 }
  9. ?>

Czy można to zrobić w jakiś inny sposób?
Polskie nazewnictwo funkcji stosuję tylko w celach pokazowych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował ExPlOiT 25.04.2009, 10:50:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PawelC
post
Post #2





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


A z tym ograniczeniem w getRow() to nawet nie wiedziałem że tak można, teraz już na przyszłość będę wiedział (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

W getRows() wstawiłem return poza pętle i pobiera wszystkie kategorie wraz z ID (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Teraz mi daje taki wynik:
  1. <?php
  2. Array (     [0] => stdClass Object         (             [id] => 1             [kategoria] => Biznes i Ekonomia          )      [1] => stdClass Object         (             [id] => 2             [kategoria] => Blogi Internetowe          )      [2] => stdClass Object         (             [id] => 3             [kategoria] => Domy i Nieruchomo?ci         )
  3. ?>

czyli zadowalający i teraz rozumiem, że muszę przepuścić przez pętle tablice aby wyświetliło normalnie
czyli id kategoria, a nie tak jak wyżej jest.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 14:27