Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z klasa :|
Forum PHP.pl > Forum > Gotowe rozwiązania
orson
witam ...

korzystam ze sterownika bazy danych przedstawionego na webcity.pl [http://webcity.php.pl/webcity/artykuly.php/t/19]
i mam nastepujacy problem :
w mojej klasie ktora pisze do obslugi userow mam taki kod:
[php:1:675c36c600]
<?php
class user extends db{
function user(){
$sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30';
$this -> query($sql);
}
}
?>[/php:1:675c36c600]
w index.php mam tak:
[php:1:675c36c600]<?php
require_once('modules/db.php');
$db = new db('10.31.1.1', 'shop_view', 'shop_view', 'shop', true);
require_once('modules/user.php');
$user = new user();
?>[/php:1:675c36c600]
dlaczego przy wykonywaniu zapytania w mojej klasie wywala mi error a jak pisze w tresci pliku index.php:
[php:1:675c36c600]<?php
$db -> query('SELECT * FROM text WHERE tx_id='.$id.' LIMIT 1');
?>[/php:1:675c36c600]
to wszystko jest ok questionmark.gif

podsumowujac:
nie dziala mi funckja z 1 klasy wywolywana w 2 klasie ... i nie wiem jak to porawic ...
z gory dzieki za pomoc

cya
orson
witam ...

chyba sobie poradzilem ...
zmienilem kod:
[php:1:75b0d47698]<?php
class user extends db{
function user(){
$sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30';
$this -> query($sql);
}
}
?>[/php:1:75b0d47698]
na :
[php:1:75b0d47698]<?php
class user extends db{
function user(){
global $db;
$sql = 'SELECT * FROM user_statistic WHERE 1 LIMIT 0, 30';
$db -> query($sql);
}
}
?>[/php:1:75b0d47698]
i teraz dziala ale nie wiem czy tak jest dobrze ... jak czytalem na webcity to tam poprzez extends <klasa> mozna sie odnosic bezposrednio do funkcji w klasie ... ale jak dziala to chyba dobrze ...
rzseattle
jesli dobrze rozumie to funkcje query masz w obiekcie db a nie user wiec wywolywanie jej w klasie user przez $this -> nie zda egzaminu musisz tam wsadzis $db->query lub wywolac klase db z klasy user ($this->db = new db) i potem ja wywoluj pzez $this->db->query()


update - chyba jednak am na to wczesniej wpadles smile.gif
zalew
albo
[php:1:dbe4132b5e]<?php
$db = new Db;
$db = new User;
?>[/php:1:dbe4132b5e]
i wtedy wszystko przez $db pojdzie

pytanie do bardziej obeznanych czy to poprawne... tzn dziala, ale czy powino sie tak robic..
orson
witam ...

jestem poczatkujacy w klasach ale czy takie wywolanie nie nadpisze mi obiektu db obiektem user questionmark.gif

cya
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.