<?php class DatabaseAdapter { var $connection; //zmienna przechowująca połączenie var $database; //zmienna z bazą danych var $query; //zapytanie var $queries = 0;//ilość zadanych pytań - poczatkowa 0 var $lastId; //wartosc ostatniego uzytego pola auto incrisment const DBHOST = ''; const DBUSER = ''; const DBPASS = ''; const DBNAME = ''; //metoda listingu błedów mysql function showMySQLError () { } } //wypisuje inne błędy function showMessage ($message) { if($message!="") { } else { } } //metoda połączenia z bazą danych //pconnection okresla czy stale polaczenie 1-stale 0-niesatle function connectMySQL ($pconnection) { if ($pconnection=='1') { //jezeli polaczenia stale $this->connection = mysql_pconnect(DatabaseAdapter::DBHOST, DatabaseAdapter::DBUSER, DatabaseAdapter::DBPASS); } else { //jezeli polaczenie niestale $this->connection = mysql_connect(DatabaseAdapter::DBHOST, DatabaseAdapter::DBUSER, DatabaseAdapter::DBPASS); } if ($this->connection && DatabaseAdapter::DBNAME!='') { //jezeli polaczenie istnieje i jest okreslona baza if ($this->database) { //jezeli sie udalo return true; } else { //jezeli nie ma tej bazy zwroc blad $this->showMySQLError(); $this->showMessage("Błąd połaczenia z bazą danych ".DatabaseAdapter::DBNAME." !"); return false; } } else { //jezeli polcznei nie istnieje lub nie ma bazy okresonej $this->showMySQLError(); $this->showMessage("Błąd połączenia z hostem !"); return false; } } //koniec połacznia z bazą function closeMySQLconnection() { if ($this->connection) { //jezeli istnieje polaczenie return true; } else { //jezeli polaczenie nie istnieje $this->showMySQLError(); } } function queryMySQL ($query) { if ($query!="" && $this->database) { $this->query = $query; $this->queries++; //dodaje 1 do ilosci zapytan return $this->result; //zwróc wynik } else { $this->showMySQLError(); $this->showMessage("Błąd wykonania zapytania do bazy danych !"); } } else { $this->showMySQLError(); $this->showMessage("Bład połaczenia z bazą lub błędne zapytanie do bazy danych !"); } } //wyswietlanie tabeli function fetchArray($resultHandle=0) { $this->result = ($resultHandle==0) ? $this->result : $resultHandle; if($this->database && $this->result) { else $this->showMySQLError(); } else { $this->showMySQLError(); $this->showMessage("Błąd metody fetchArray"); } } //pkazuje wyniki w wierszach function fetchRow($resultHandle=0) { $this->result = ($resultHandle==0) ? $this->result : $resultHandle; if($this->database) { if($this->records) { return $this->records; } else { $this->showMySQLError(); } } else { $this->showMySQLError(); $this->showMessage("Błąd metody fetchRows !"); } } //pokazuje ilosc wynikow function showNumRows () { //pokazuje ilosc wynikow zapytania return $numRows; //pokaz ilosc wierszy } else { $this->showMySQLError(); $this->showMessage("Nie można pobrać ilości zapytań"); } } } ?>
obiekt do obsługi tabeli:
<? require_once('DatabaseAdapter.class.php'); ?> <? class ObjectAdapter extends DatabaseAdapter function ListObjectsByCatID ($catID) { $this->connectMySQL(0); $this->queryMySQL("SELECT * FROM objects WHERE categoryID = '$catID'"); $this->closeMySQLconnection; return $this->fetchArray(); } } ?>
ok i funkcję wywołuje tutaj:
$object = new ObjectAdapter(); $objectArrary = $object->ListObjectsByCatID($_GET['catid']); echo $objectArrary['object_serial'];
Moje pytanie jak zrobić żeby wyrzuciło mi całą tabelę narazie niestety tym sposobem doszedłem do wyświetlenia jednego pierwszego rekordu z wyniku zapytania.