Autor Zpráva
Jamala
Profil *
Zdravím, mám vytvořenou rss čtečku, která mi načítá data z externích souborů na mém serveru(nejsou mé vlastní,ale zasílá nám je jedna firma). a nevím jak seřadit výpis dle data, zobrazuje se např.:

04.02.2010-nadpis1
06.02.2010-nadpis2
05.02.2010-nadpis3

zkoušel jsem řadit až výstup ale to mi akorát seřadilo datum třeba 02.04.0012, jediné co mě napadá, je že při načítání souborů,budu ty soubory načítat dle data, jenomže malý problém je že neovlivním názvy souborů, které jsou v takovém formátu: nazev_id_datum.xml(novinka_1111_rrrrmmddThhmmss) a nevím podle čeho je seřadit.

Dík za pomoc
regy
Profil
Nevím jestli jsem to správně pohopil, ale mělo by to jít takto. S toho názvu vytáhneš pomocí ereg_replacedatum, ten převedeš na unixový čas a časy všech záznamů v rss uložíš do pole. Pole pak seřadíš a následně už jen vypíšeš přísušný příspěvky.
$casy = array("1265367612", "1265367610", "1262367611", "1265367615"); //sem nasekej všechny časy z rss v unixu
rsort($casy);
foreach ($casy as $cas) {
    //zde převeď čas zpět na tvar, jako je v nadpisu a pak vyhledej příslušný záznam v rss podle toho data. Ten pak vypiš.
}

Jamala
Profil *
Děkuji ale tohle už jsem zkoušel a nepomohlo to, zde je můj kod:

$folder="mojeslozka";

    function pocet($addr){
     $adresar = opendir($addr);
     $num=0;while ($soubor = readdir($adresar)){$num++;}
     $num = $num-2;
     
     return $num;
    }

$poc=pocet($folder);
$slozka = dir($folder); 

    for($i=1;$i<$poc;$i++){
     $soubor=$slozka->read();
      if ($soubor=="." || $soubor=="..") continue; 
        $xml=simplexml_load_file($root.$folder."/".$soubor);
         foreach ($xml->node as $item){
          $text=$item->text;
          $nadpis=$item->nadpis;
          $datum=$item->datum;
          
          
          $keywords=array("klíčové slovo1","klíčové slovo2","klíčové slovo3","klíčové slovo4","klíčové slovo5");
          $pole=explode(" ", $text);

        foreach ($pole as $cast){
         if(in_array($cast,$keywords)) { 
          echo "$datum-$nadpis";
         } 
        }
       }
      }

     $slozka->close(); 
AM_
Profil
soubory si načti pomocí
$files = glob('mojeslozka/*.xml');
, pak bych je třídil asi funkcí usort, která funguje tak, že si napíšeš vlastní callback funkci na porovnání dvou novinek a určení, která je novější, a předáš ji usort.
Jamala
Profil *
Ok díky moc tohle funguje, ještě mám jeden takový menší problém související s tím výpisem. Někdy se stane že v jednom textu jsou třeba 2 stejná klíčová slova a ta zpráva se mi zobrazí dvakrát. Možná už do toho koukám tak dlouho že přehlížím jednoduché řešení :)

Díky moc

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