[php]klasa + sql + petla

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
dzieciol4
Nowy
Nowy
Posty: 120
Rejestracja: pt sie 23, 2002 8:22 am
Lokalizacja: Szczecin

[php]klasa + sql + petla

Post autor: dzieciol4 »

czesc
Mam sobie klase sql za pomoca singletonow wzucam jej obiekt do innej klasy we wlasiwosc db i mam:
[php]<?php
class jakas
{
var db;

funkcja operuj()
{
$this -> db -> query("zapytanie sql");
while ($products=$this->db->fetch_row()) {
$this -> db -> query("INSERT INTO orders_products ( orders_products_id )
VALUES ('".$products['id']."')");
}
}

}
?>[/php]
i wyglada niby dobrze ale przy takim zapisie jak powyzszy dodaje mi tylko pierwszy wiersz do orders_products, a nie wszystkie ktore byly w zapytaniu. Myslalem nad tym dluzsza chwile i wymyslilem tylko to, ze jezeli chce wewnatrz while dodawac kolejne rekordy musze zrobic kolejny obiekt np. db2 wtedy kod bedzie wygladal nastepujaco:
[php]<?php
while ($products=$this->db->fetch_row()) {
$this -> db2 -> query("INSERT INTO orders_products ( orders_products_id )
VALUES ('".$products['id']."')");
}


?>[/php]
i teraz jest ok ALE czy można to zrobić tak aby nie musieć używać dwóch obiektów? Dzieki za odp.
Grzegorz Winiarski
Nowy
Nowy
Posty: 147
Rejestracja: pt lut 27, 2004 10:36 pm
Lokalizacja: Kraków

Re: [php]klasa + sql + petla

Post autor: Grzegorz Winiarski »

Jeżeli Twoja klasa 'jakas' sluzy tylko do obrabiania zapytan sql to mozesz zrobic tak:
[php]<?php
class jakas extends db {
function operuj() {
parent::query($query);
....
}
...
}
?>[/php]
Chyba rozumiesz o co mi chodzi?
dzieciol4
Nowy
Nowy
Posty: 120
Rejestracja: pt sie 23, 2002 8:22 am
Lokalizacja: Szczecin

Re: [php]klasa + sql + petla

Post autor: dzieciol4 »

Tak kumam. Dzieki. Zapomnialem o rodzicach :)
ODPOWIEDZ