Visszafelé olvasás fájlból -> XML DOM + PHP

Visszafelé olvasás fájlból -> XML DOM + PHP
2009-04-06T11:16:44+02:00
2009-04-06T19:26:58+02:00
2022-11-13T05:00:39+01:00
Gexa
Sziasztok!

Egy kisebb, belső levelezőrendszert csinálgatok és annál a résznél akadtam el, hogy visszafele kellene beolvassam az Üzenetek állományt. (Mivel dátum szerint csökkenő sorrendbe illik megjeleníteni a leveleket - a legfrissebb van legelöl). Az lenne a kérdésem, hogy hogyan lehetne megfordítani, vagy visszafele beolvasni az egész dokumentumot? A Feldolgozó szkript már kiválóan üzemel, ezért jobban szeretnék valami olyan megoldást, amivel csak a $dom->load($filenev); után "invertálhatnám" a doksit.

Előre is köszönöm mindenkinek a segítséget!

Üdv,
Gexa
Mutasd a teljes hozzászólást!

  • Ha a childnode-okon vegigmesz for-al, foreach helyett, akkor siman megoldhato, ez a 'rendes' irany, gondolom at tudod irni :)

    $x = $dom->documentElement->childNodes; for ($i = 0; $i < $x->length; ++$i) { ... }
    Mutasd a teljes hozzászólást!
  • Szia!
    Természetesen én is így kezdtem, csak azt elfelejtettem írni, hogy van benne egy lapozó rész,ami már egy "kicsit" megbonyolítja a dolgot! :(

    Még egy kicsit gondolkozok rajta, de majd beírom ide a kódot...
    Addig is 5leteket szívesen fogadok!!
    Mutasd a teljes hozzászólást!
  • Legrosszabb esetben vegigmesz az osszes childon, es hozzaappendeled oket egy ures xml roothoz, visszafele :) Igen ocsmany megoldas, de akkor nem kell agyalni kesobb :)
    Mutasd a teljes hozzászólást!
  • Szia!

    Ááá sikerült végre!!! Csak egy kis matek kellett hozzá ...

    Ez a megoldása:

    $from = $lapszam*$db; if ($db>=$ossz) { $megj = $ossz; } else { if ($lapszam>0) { $megj = (($lapszam*$db) + ($ossz%$db)); } else { $megj = ($lapszam*$db)+($db); } } for ($i=($ossz-$from-1); $i>=($ossz-$megj); $i--) { $msg = $root->item($i); echo smile(kiolvas($msg)); }

    A lényeg, hogy a lapszámból kiindulva visszafele kell számolni.



    Azért köszönöm a segítséget!

    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd