Autor Zpráva
Student.Travnicek
Profil *
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 *
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 *
to jsem zkousel i sam ale to akorat vypisuje title3 milionkrat a pak to vyhodi chybu
juriad
Profil
Student.Travnicek:
Máš tam chybu, ukaž celou funkci. Dost pravděpodobně to vypadá na nekonečnou rekurzi.
Student.Travnicek
Profil *
<?  
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
<?  
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();
    }
  }
}
?>
Přehlednější, že jo?

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 *
Mohl by jsi my upřesnit +- jak na to? Předem děkuji.
juriad
Profil
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0