Autor | Zpráva | ||
---|---|---|---|
návštěvník Profil * |
#1 · Zasláno: 2. 1. 2014, 19:36:59
Řeším kód na výpis oblíbených uživatelů. Moje metoda přestala fungovat.
Vypíšu výsledky SQL dotazu uložené v poli $data: http://paste.ofcode.org/ipAPweXFqUhGG4bhCZ4yb5 Následně se pokusím zpracovat výsledky a uložit je do objektu Results->all if ( !empty($data) ): while(list($k,$i)=@each($data)); $Results->all->getAll($i,$color); $u->popular = clone $Results->all; endif; Podle mého názoru už fakt že jsem uvedl podmínku if ( !empty($data) ) public function getAll(&$input_arr, &$color = '' ){ static $sr; global $lan, $options; $color = $color == COLOR4 ? COLOR3 : COLOR4; $this->colors[] = $color; if (empty($input_arr)) die("<b>Incorrect input argument:</b>getAll: SQL result array is empty."); Ve výsledku mám hlášku: Incorrect input argument:getAll: SQL result array is empty. Takže nechápu proč se to zastaví. Jak tento problém vyřešit? Ještě pozn: nemá smysl zkoušet dávat print_r dovnitř té metody, protože už jsem to několikrát před tím úspěšně použil, takže by to vypsalo pole použité předtím, ne to aktuální pole $data. |
||
Davex Profil |
#2 · Zasláno: 2. 1. 2014, 19:58:25
Proměnné
$k a $i budou mít při vstupu do metody getAll hodnotu NULL protože cyklus while je prázdný a metoda getAll se vykoná až po jeho skončení.
|
||
návštěvník Profil * |
#3 · Zasláno: 2. 1. 2014, 20:35:43
Davex:
Jak ale může být prázdný když $data obsahuje data? Konkrétně jedno pole pod indexem 0. |
||
DJ Miky Profil |
#4 · Zasláno: 2. 1. 2014, 20:48:44
Nezáleží na obsahu proměnné
$data , cyklus samotný nemá žádné tělo.
while(list($k,$i)=@each($data)); $Results->all->getAll($i,$color); while(list($k,$i)=@each($data)) { } $Results->all->getAll($i,$color); |
||
návštěvník Profil * |
#5 · Zasláno: 2. 1. 2014, 21:05:29
Aha, tak to konečně chápu. Díkes
|
||
Časová prodleva: 11 let
|
0