| 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: 13 let
|
|||
0