[php]klasa + sql + petla
: pt kwie 23, 2004 7:42 am
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.
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.