Autor | Zpráva | ||
---|---|---|---|
kuba1999 Profil |
#1 · Zasláno: 10. 4. 2010, 19:32:16 · Upravil/a: kuba1999
Ahoj.
Mám tuto třídu: class strankovani{ .... ... public function zaznamy(){ $by=($this->na_stranku * ($this->page - 1)); $select=mysql_query("SELECT * FROM clanky"); $result = mysql_fetch_object($select); foreach ($result as $field => $value) $result->$field = $value; return $result; } ... ... } Když přes třídu strankovani zavolám funkci zaznamy(), tak potřebuji, abych pomocí while začal vypisovat řádky. (které jsou přes tuto funkci vráceny v objektu) while($r=$strankovani->$select){ echo $r->nazev; } Ale nedaří se mi to vůbec udělat.. Mockrát děkuji za rady. Jakub |
||
Časová prodleva: 3 dny
|
|||
Jan Tvrdík Profil |
#2 · Zasláno: 13. 4. 2010, 23:24:16
Vypisovat to přes while je značně nepraktické. Funkce
zaznamy by měla vracet pole, které by se následně prošlo přes foreach.
|
||
AM_ Profil |
#3 · Zasláno: 14. 4. 2010, 00:01:14
kuba1999:
> $result = mysql_fetch_object($select); > > foreach ($result as $field => $value) > $result->$field = $value; > return $result; tohle mi přijde jako dost nesmyslná konstrukce, proč prostě hned po prvním řádku nevrátíš $result? ten foreach vlastně neudělá vůbec nic. > while($r=$strankovani->$select){ > echo $r->nazev; > } tahle konstrukce je také nějak nesmyslná... čeho je instance objekt $strankovani? pokud třídy strankovani, tak je to od základu špatná konstrukce, třída strankovani především neobsahuje jako členy žádná konkrétní data. Osobně bych doporučoval vrátit se k nějakému tutoriálu objektového programování, mám z Tvého kódu pocit, že máš v principu objektů trochu zmatek, a bude lepší si přečíst nějaký hotový článek, než abych tady rozepisoval rozsáhlé pojednání o tom, jak mají objekty fungovat. |
||
Mastodont Profil |
#4 · Zasláno: 14. 4. 2010, 10:52:42 · Upravil/a: Mastodont
Ono by to šlo, kdyby tam byla nějaká metoda Load a Select by pak z načteného pole vybral následující záznam, umístil ho do public členů a vrátil true, ale moc se mi to nezamlouvá ...
$r = new Strankovani; $r->Load(...); while ($r->select() ){ echo $r->nazev; } |
||
Časová prodleva: 14 let
|
0