Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z klasa :|
orson
post 27.09.2003, 09:31:28
Post #1





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


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
Go to the top of the page
+Quote Post
orson
post 27.09.2003, 09:38:17
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


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 ...
Go to the top of the page
+Quote Post
rzseattle
post 27.09.2003, 09:39:59
Post #3





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


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


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
zalew
post 27.09.2003, 11:02:58
Post #4





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

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


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..


--------------------
Go to the top of the page
+Quote Post
orson
post 27.09.2003, 12:51:12
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

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

cya
Go to the top of the page
+Quote Post

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: 24.06.2025 - 20:24