Autor | Zpráva | ||
---|---|---|---|
Student.Travnicek Profil * |
#1 · Zasláno: 7. 10. 2013, 22:44:28
Dobrý den,
potřeboval bych radu je nějak možné při takovýmhle načítání xml přes php zapomatovat/uložit id posledního vypsaného záznamu abych ho pak mohl dosadit do if místo té dvojky (jedná se mi o real time prispevky) mam teoreticky v planu to dat jako funkci a na konci funkce ji znovu zavolat $xml=simplexml_load_file("zk.xml"); foreach ($xml->chat as $chat){ $id = $chat->id; if ($id > 2){ $title = $chat->title; echo "$title"; }} Předem děkuji za odpověď. |
||
anonymni Profil * |
#2 · Zasláno: 8. 10. 2013, 10:38:20 · Upravil/a: anonymni
Student.Travnicek: na konci si to současné ID (které bude tím "posledním") ulož.
foreach (...) { // ... if ($id > $last_id) { // ... $last_id = $id; } } + na začátku tu proměnnou definuj, nebo přidej isset .
|
||
Student.Travnicek Profil * |
#3 · Zasláno: 8. 10. 2013, 11:23:19
to jsem zkousel i sam ale to akorat vypisuje title3 milionkrat a pak to vyhodi chybu
|
||
juriad Profil |
#4 · Zasláno: 8. 10. 2013, 11:28:00
Student.Travnicek:
Máš tam chybu, ukaž celou funkci. Dost pravděpodobně to vypadá na nekonečnou rekurzi. |
||
Student.Travnicek Profil * |
#5 · Zasláno: 8. 10. 2013, 12:01:30
<? read(); function read(){ if (isset($last_id) == false){$last_id = 0;} $xml=simplexml_load_file("zk.xml"); foreach ($xml->chat as $chat){ $id = $chat->id; if ($id > $last_id){ $title = $chat->title; echo "$title"; $last_id = $id; read(); }}} ?> |
||
juriad Profil |
#6 · Zasláno: 8. 10. 2013, 12:07:19
<? read(); function read(){ if (isset($last_id) == false) { $last_id = 0; } $xml=simplexml_load_file("zk.xml"); foreach ($xml->chat as $chat) { $id = $chat->id; if ($id > $last_id) { $title = $chat->title; echo "$title"; $last_id = $id; read(); } } } ?> Každopádně, to je úplně blbě. Nejspíš chceš, aby ti skript vypsal nový titulek, jakmile se soubor zk.xml změní. To se musí dělat úplně jinak. Tento kód můžeš zahodit. |
||
Student.Travnicek Profil * |
#7 · Zasláno: 8. 10. 2013, 13:16:00
Mohl by jsi my upřesnit +- jak na to? Předem děkuji.
|
||
juriad Profil |
#8 · Zasláno: 8. 10. 2013, 13:40:50
Přečti si nějaký tutoriál.
http://tutorialzine.com/2010/10/ajax-web-chat-php-mysql/ Chápu, že většině asi nebudeš rozumět, ale zkus pochopit princip. PHP dělá dvě věci: - ukládá nový příspěvek - vrací příspěvky, které jsou novější než nějaké id JS provádí: - odesílá nový příspěvek AJAXem (aby nedošlo k refreshi stránky) - ptá seperiodicky serveru na příspěvky novější než je poslední příspěvek, který už má PHP nemůže běžet ve smyčce. Základem je, aby rychle odpovídalo na požadavek. |
||
Časová prodleva: 10 let
|
0