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%)
-----


Cytat
3) Metody update/insert/delete to dobry pomysł w ORMach, ale w zwykłych "klasach obsługi baz danych" nie

To co mogę zrobić w zwykłej klasie, zamiast insert etc...
Cytat
1) Po co mi takie komunikaty?
2) Jak wszystko poszło dobrze, to nie ma potrzeby niczego zwracać (może być zwykłe TRUE). Jak coś poszło źle to rzuć wyjątkiem, który nada się tu lepiej

Wiem, komunikaty dałem tylko tak żeby sprawdzić czy działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Normalnie ich niema, jest tylko w razie błędu.
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 - 04:58