Postupný výstup z PHP pomocí AJAXU? – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Postupný výstup z PHP pomocí AJAXU? – JavaScript, AJAX, jQuery – Fórum – Programujte.comPostupný výstup z PHP pomocí AJAXU? – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Pixtr0
Newbie
8. 1. 2013   #1
-
0
-

Zdravím pánové a dámy,

už chvíli dělám v PHP a poslední dobou jsem zabrousil také do JavaScriptu a AJAXu. Podařilo se mi díky těmto jazykům vytvořit tak nějak vše co jsem potřeboval. Zajímala by mě však jedna maličkost ohledně realtimového výstupu z PHP pomocí AJAXu. V tuto chvíli mám udělanou stránku, která přečte formulář pomocí JavaScriptu, AJAX data odešle do PHP souboru a vrácenou hodnotu ukáže na stránce. Jelikož se jedná o takovou menší instalaci, vráceným výstupem z PHP je seznam splněných a nesplněných úkolů. V tuto chvíli se vypíše, že instalace začala, pak to chvilku trvá a nakonec se vypíše celý seznam výsledků najednou. Strejda google mi moc neporadil, jen vím že ajax vypíše výstup ve chvíli kdy se v PHP provede celý kód. Chtěl bych ale aby se v průběhu kódu postupně vypisovalo co je již hotové. Otázka tedy je jestli vůbec existuje nějaká funkce, která by umožnila požadovaný výsledek?

Mě napadá jen rozkouskovat script do 10 různých PHP souborů a volat je pomocí 10 různých AJAXů abych dostal 10 postupných výstupů => to je ale strašná prasárna 

P.S.: používám jQuery....

Předem děkuji za odpovědi.

Nahlásit jako SPAM
IP: 88.102.10.–
KIIV
~ Moderátor
+43
God of flame
8. 1. 2013   #2
-
+1
-
Zajímavé

Co strankovani? Predas php scriptu stranku (pripadne pocet polozek na stranku) a vypises jen ty data?

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pixtr0
Newbie
8. 1. 2013   #3
-
0
-

#2 KIIV
Vím jak to myslíš ale obávám se, že to neudělá ten effect, který bych potřeboval.Budu to muset asi obejít, protože ať hledám jak hledám, všichni píšou, že to nejde udělat jednoduše. Ale i tak dík.

Nahlásit jako SPAM
IP: 88.102.10.–
KIIV
~ Moderátor
+43
God of flame
8. 1. 2013   #4
-
0
-

tak to spis nechapu o co se teda snazis... tak jak sem to pochopil je to reseni ok..

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pixtr0
Newbie
8. 1. 2013   #5
-
0
-

#4 KIIV
Jedná se mi o postupné generování výsledků z php scriptu. Něco jako když se instaluje aplikace a postupně vypisuje co je již nainstalované. Něco jako:

Instalace začala...
Úkol jedna splněn...
Úkol dva se nepodařilo splnit...
Úkol tři splněn....
.
.
 

Podobně jako kdybych v php napsal toto:

echo "Instalace začala...";
flush();
sleep(3);

echo "Úkol jedna splněn...";
flush();
sleep(2);

echo "Úkol dva nesplněn...";
flush();
sleep(3);

.
.
.

Budou se mi v prohlížeci ukazovat hlášky postupně. Nejdříve se napíše "Instalace začala...", pak bude 3 vteřiny čekat a napíše "Úkol jedna splněn..." a tak dále...

Jde mi především o ten effekt postupného vypisování...

To co ty máš na mysli je klasické stránkování více výsledků, ne? Třeba když budu mít 100 položek v databasi tak je budu vypisovat po 10 abych nemusel čekal na všech 100.

Nahlásit jako SPAM
IP: 88.102.10.–
crazy
~ Moderátor
+10
Grafoman
8. 1. 2013   #6
-
0
-

#5 Pixtr
ty "stránky" můžou být i jednotlivé záznamy, takže řešení, které napsal KIIV, pro toto bude OK

Nahlásit jako SPAM
IP: 2001:718:2:cd:edb0:33a6:3...–
All you need is vision and time.
peter
~ Anonymní uživatel
4016 příspěvků
10. 1. 2013   #7
-
0
-

"Mě napadá jen rozkouskovat script do 10 různých PHP souborů a volat je pomocí 10 různých AJAXů abych dostal 10 postupných výstupů => to je ale strašná prasárna"

Ok, a jak jinak to chces delat? Mas 10 ruznych okolu, ktere se muzou vyresit v 10 odlisnych casech, pokud bezi soucasne. Konec ukolu nejlepe poznas s ukoncenim programu. Nebo, o jake ukoly jde? V cem je problem volat 10 ruznych ajaxu? Vzdyt cela ta funkce vypada:

funkce(cislo ukolu,id divu pro vypis); // to vytvori request ?ukol=1 a vyplni pomoci innerHTML odpoved
funkce(1,'upload');
funkce(2,'zip');
funkce(3,'permitions');
funkce(4,'curl');
<div id="upload"></div>
<div id="zip"></div>

Kdyz funkce skonci, tak prepise obsah divu a vyskoci tam nova hlaska uprostred. Nebo pouzijes objekt.innerHTML+='<div>blabla</div>'; a prida to na konec.

Pokud ty procesy bezi postupne v rade, po ukonceni jednoho se spusti dalsi, tak si to stejne musis ridit javascriptem. Prohlizec sam od sebe o stranku nepozada, pokud uzivatel neklikne nebo se nespusti casovac setInterval, setTimeout (jakpsatweb.cz - javascript - priklady). takze, na konci ajaxu se spusti dalsi ajax s dalsim procesem v poradi.

Nahlásit jako SPAM
IP: 2001:718:2601:400:0:5efe:...–
KIIV
~ Moderátor
+43
God of flame
10. 1. 2013   #8
-
0
-

co proste predat cas posledni kontroly... a vse co se vyresilo od toho casu do ted, tak se posle z php do ajaxu a tam se pak uz zaskrta co a jak ? Kontrola jednou za pul minuty nebo minutu bohate staci.

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý