php - postupné zobrazování výsledku
Ahoj, dělám jeden web, kde uživatel zadá v prvním kroku do pole text a form odešle...Můj skript vyhledá text v definovaných databázích...A vygeneruje formulář...Když se např. vyhledá 5 položek, je ve formuláři 5 tabulek a 5 checkboxů... Uživatel pak zatrhne požadované a dá zobrazit detaily...A pak mu vyjede tolik tabulek, kolik zatrhl checkboxů...
Problém je, že v druhém kroku se každá zaškrtnutá položka hledá v té vzdálené dbs jednotlivě (for cyklus) a výsledky se ukládají do proměnné... Ta se pak na konci vypíše (echo) uživateli...Problém je, že někdy to vyhledává dlouho (záleží na zatížení dbs), takže uživatel čeká dlouho...
A já bych nějak potřeboval udělat, aby když třeba uživatel dá vyhledat 5 položek, tak aby se postupně ihned po vyhledání zobrazili a uživatel nečekal až se vyhledají všechny...(ale nalezený výsledek potřebuji nejdřív zpracovat-hodit do požadovaného vzhledu=přidat class apod...)
Jde to nějak? Mohli by jste mi nějak naznačit, jak by se to dělalo - abych si to mohl nastudovat...Co použít (třeba jquery)...Děkuji
P.S.: Do těch databází kam posílám dotazy (pomocí get) nemůžu zasahovat - je to webová služba, kam pomocí get pošlu parametr/y a dostanu v prvním kroku xml a v druhém výsledný html, z kterého si pomocí php html parseru vyberu požadovanou tabulku (na základě class)...
EDIT:
Příklad:
Teď je to u druhého kroku takto:
<?php
....
foreach ($_POST["vybrane"] as $value) {
$vysledek .= prover($value) . "<br><br>";
}
echo $vysledek
....
?>
A já bych potřeboval:
<?php
....
foreach ($_POST["vybrane"] as $value) {
$vysledek .= prover($value) . "<br><br>";
Vypis $vysledek //postupne, ne az na konci cyklu...
}
....
?>
jQuery ve spojení s Ajaxem bych ti zatím nedoporučoval, když se takhle ptáš.
Ve konstrukci foreach:
Ti přece nic nebrání zpracovávat výsledky "po řádku" .
Ale pokud mě paměť neklame, tak bez Ajaxu (a jQuery) lze jen obtížně zobrazovat výsledky postupně,
respektive skript se celý provede a až je hotový, tak to celé pošle do prohlížeče.
Takže tím nic významného nezískáš.
Pokud však chceš "pouze" jednotlivé výsledky obalit do classu, můžeš použít něco, jako:
ahoj, ten poslední příklad co si uvedl nepotřebuji..to je jasné...ale právě v tom prvním případu je ten problém, že já potřebuji nějak v tom cyklu zařídit, aby se mi každým cyklem vypsal výsledek metody prover()...Protože když dám echo, tak se to také vypíše až na konci scriptu...Takže asi ten ajax...ale s ním jsem ještě nedělal (no jednou to příjít muselo...)