Mój obiekt do obsługi bazy:
<?php
class DatabaseAdapter {
var $connection; //zmienna przechowująca połączenie
var $database; //zmienna z bazą danych
var $query; //zapytanie
var $result = array(); //zmienna z wynikiem zapytania {tabela} var $rows = array(); //tablica z wynikami {tabela} 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!="") {
echo "<b>".$message."</b>";
} 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
$this->database = mysql_select_db(DatabaseAdapter
::DBNAME, $this->connection); //wybierz baze
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
unset($this->connection); return true;
} else { //jezeli polaczenie nie istnieje
$this->showMySQLError();
}
}
function queryMySQL ($query) {
if ($query!="" && $this->database) {
$this->query = $query;
if($this->result = mysql_query($this->query, $this->connection)) { //jezeli zapytanie sie powiedzie
$this->lastId = mysql_insert_id(); //nadaje wartosc ostatniego pola autoincrisment $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) {
if(is_array($this->records)) return $this->records; 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
if($numRows = mysql_num_rows($this->result)) { //pobiezr ilosc wierszy
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.