Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z Klasa odpowiedzialna za wyświetalnie danych
markkoo99
post 7.05.2010, 20:54:55
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.12.2009

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


Witam,
Mam problem z wyświetleniem danych z baz danych. Robię aplikację obiektowo a raczej sie uczę. Bo jest robię bez obiektów to wyświetla mia zawartość bazy danych. Pewnie mam coś źle napisane w tej klasie która odpowiada za wyświetlanie danych.
Struktura aplikacji wygląda następująco:
Głównym rdzeniem aplikacji jest plik apcore.php
CODE
<?php

//Dołączenie pliku konfiguracyjnego
require_once(APP_DIR.'/configuration/define.php');
require_once(APP_DIR.'/aplication/comunication.php');
require_once(APP_DIR.'/aplication/object.php');

//Klasa bazowa PEAR
require_once('PEAR.php');
require_once('DB.php');


//Moduły sklepu -------------------------------START ----------------------
//Katalog
require_once(APP_DIR.'/modules/catalog.php');
//-----------------------KONIEC------------------------------


class AppCore {

private static $_appInitialized;
/**
* Obiekt PEAR pamiętający połączenie z bazą danych
*/
public static $_dataBaseConnection;

public static function initializeApplication() {
//Próba nawiązania połączenia z bazą danych

if (PEAR::isError(self::$_dataBaseConnection = DB::connect(DSNInit()))) {

if (LOG_WRITE) self::$_logObject->log('Nie można nawiązać połączenia z bazą danych. Przyczyna: '.self::$_dataBaseConnection->getMessage(), LOG_ERR);
throw new Error('dbconnectionerror');
}

}

public static function Query($queryString) {
return self::$_dataBaseConnection->Query($queryString);
}
/**
* Metoda obiera ilość wierszy objętych działaniem polecenia
* INSERT, UPDATE lub DELETE
* @return mixed
*/
}

//Inicjacja aplikacji
try {
AppCore::initializeApplication();

} catch (Error $err) {
echo (Lang::getMessage('error').': '.Lang::getMessage($err->getMessage()).'<br/>');
exit (Lang::getMessage('endofapplication'));
}





?>

Plik do odpowiedzialny za komunikacje z baza comunication.php:

CODE
<?php

/************************************
*
* Połaczenie inicializycjne do bazy danych
*
************************************/


function DSNInit()
{
// Dołączenie obsługi klasy PEAR-DB
require_once('DB.php');

return DB_TYPE . '://' . DB_USERNAME . ':' . DB_PASSWORD . '@' . DB_HOST . '/' . DB_NAME;
}
?>


Plik Klasy Object.php :

CODE
<?php

abstract class Object {
/**#@+
* @access protected
*/
/**
* @var string Unikalny identyfikator obiektu (32 znaki).
*/
protected $_Id;
/**
* @var string Identyfikator w?a?ciciela obiektu.
*/
protected $_Owner;
/**
* @var string Typ obiektu (wszystkie typy przechowywane s? w bazie danych)
*/
protected $_Type;
/**
* @var string Opis obiektu
*/
protected $_Desc;
/**
* @var string Data utworzenia obiektu
*/
protected $_CreateDate;
/**
* @var string Data ostatniej modyfikacji obiektu
*/
protected $_LastModifyDate;
/**
* @var bool Aktywno?? obiektu
* (TRUE - obiekt jest aktywny
* FALSE - obiekt jest niekatywny)
*/
protected $_Active;
/**#@-*/

/**
* Domy?lna metoda wywo?ywana podczas inicjalizacji obiekt?w tej klasy
* @access public
*/
public function __construct () {}
/**
* Ustawia unikalny identyfikator obiektu
* @access public
* @param string $id Unikalny identyfikator
* @return bool
*/
public function setId($id){$this->_Id = $id;}
}
?>


Plik Catalog.php który zawiera klasę do wyświetlania danych z bazy:
CODE
<?php


class Catalog extends Object {

public function __construct($catdata = array()) {
$this->_SubCategory = NULL;
//Tworzenie obiektu

}


public function getCategoryProductsNumber() {
$sqlquery = 'select * from categories';
if (!$result = AppCore::Query($sqlquery)) throw new Error('dberror');
if (!$num = $result->numRows()) {
return 0;
}
return $num;
}
}
?>

Struktura bazy jest bardzo prosa i składa sie kilku rekordów. Chodzi o to żeby coś wyświetlić.


Początkowo wyskakiwały mi błędy które stopniowo usuwałem, a teraz mam biały ekran i nic nie wyświetla. Nie wiem jak sobie poradzić z góry dziękuje za wskazówki. Będę bardzo wdzięczny za pomoc bo utknąłem w miejscu i nie wiem jak sobie z tym poradzić.
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.06.2025 - 01:19