Portál AbcLinuxu, 9. května 2025 06:00

Dotaz: Výpis z SQL nefunguje ve funkci

29.3.2013 15:02 Pavel Novák
Výpis z SQL nefunguje ve funkci
Přečteno: 169×
Odpovědět | Admin

Dobrý den,
chtěl bych se zeptat zdali by mi někdo nemohl poradit, už jsem z toho vážně jelen. Mám stránkování v PHP a bohužel funguje jen když není použito ve funkci.

Takto mi to vypíše vše v pořádku, a dělá to vše co má.
$result = $cpf->mysql->query("SELECT * FROM ".$_PAGER->CheckTable." ORDER BY ".$_PAGER->CheckOrder." DESC LIMIT ".$_PAGER->Page*$_PAGER->Art);

while($tmp = $cpf->mysql->fetch($result))
{
echo $tmp['lastname']." ".$tmp['firstname']."<br />";
}


Nicméně, pokud danou věc použiji ve funkci, tak se mi výpis pomocí "while" vypisuje do nekonečna. Za boha nevím kde by mohla být chyba

function test(&$_PAGER)
{
global $cpf;
$result = $cpf->mysql->query("SELECT * FROM ".$_PAGER->CheckTable." ORDER BY ".$_PAGER->CheckOrder." DESC LIMIT ".$_PAGER->Page*$_PAGER->Art);
return $cpf->mysql->fetch($result);
}


while($tmp = test($_PAGER))
{
echo $tmp['lastname']." ".$tmp['firstname']."<br />";
}

 

 

Děkuji předem za pomoc,

P.N.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.3.2013 15:07 chrono
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
Odpovědět | | Sbalit | Link | Blokovat | Admin
To s tou funkciou robí niečo iné, ako to bez nej (pri každom volaní sa znovu hľadajú tie položky, takže to nikdy nevráti prázdny výsledok).

Inak prečo to nie je celé vo funkcii? (prípadne prečo tá funkcia napr. nevracia všetky potrebné údaje v nejakom poli)
29.3.2013 15:11 Pavel Novák
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
Jelikož potřebuji aby se ta funkce dala používat i s jiným obsahem "while" pouze dle zadanych proměných z "_PAGER".. jiná tabulka, jiný indikator atd..
29.3.2013 15:25 chrono
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
Nie je problém pridať tej funkcie nejaké parametre, aby to bolo univerzálne, ale pri takto jednoduchom kóde je asi zbytočné robiť z toho funkciu.
29.3.2013 15:30 Pavel Novák
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
To možná ano, jenže to mám použito ve třídě na stránkování kterou jsem si napsal, a nechci dávat na každou stránku nové volání výpisu.. potřeboval bych to aby to funkgovalo v te funkci.
29.3.2013 15:29 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
Odpovědět | | Sbalit | Link | Blokovat | Admin
Však to chcete vypisovat do nekonečna :-).
Voláte funkci test(), která načte roj záznamů a jeden vrátí, ten se vloží do proměnné $tmp a vypíše se, pak zavoláte opět fci test(), která načte znovu stejný roj záznamů a vrátí zas ten jeden (pokud se záznamy odjinud nezměnily) a tak furt dokola, k zastavení musíte vyprázdnit tabulku $_PAGER->CheckTable.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
29.3.2013 16:04 Pavel Novák
Rozbalit Rozbalit vše Re: Výpis z SQL nefunguje ve funkci
Tak už mi to funguje, výpis jsem zapsal do proměné a následnou proměnou využil ve "while" a vše bez problému :). Děkuji chlapy :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.