Einzelnen Beitrag anzeigen
  #1  
Alt 31.08.2009, 18:59:30
grutho grutho ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 56
Beiträge: 3
PHP - Zähler für ein Array und XML Textsruktur

Hallo,
als relativer PHP-Neuling steh ich mittlerweile vor einer für mich unlösbaren Aufgabe... ;-)

Ich lese mittels PHP eine XML Datei aus. Dabei stosse ich auf zwei Probleme:

Eigentlich sollten nur die letzten 5 Einträge (mit den höchsten ID's) ausgegeben werden. Zum anderem wird mir (scheinbar) beim Einlesen in das Array die Textstruktur zerschossen. Das heisst in der XML gibt es ein Feld welches Umbrüche enthält. Die sollten auch dort bleiben...

Würde mich freuen, wenn mir jemand nach unzähligen und nächtlichen Stunden helfen könnte.

PHP-Code:
$daten file_get_contents("/www/...  .../xml/projektanfragen.xml"); // Datei einlesen
$daten explode("<Projektanfragen>" $daten); // Inhalt in ein Array zerlegen

$daten array_slice($daten1);      

for (
$i=0$i<5$i++) {
foreach (
$daten as $elem) {


 
ereg("<ID>(.*)</ID>" $elem $id);
 
$id $id[1];
 
ereg("<Datum_x0020_start>(.*)</Datum_x0020_start>" $elem $xml[$id]["datum_start"]);
 
ereg("<Datum_x0020_ende_x0020__x0028_Laufzeit_x0029_>(.*)</Datum_x0020_ende_x0020__x0028_Laufzeit_x0029_>" $elem $xml[$id]["datum_ende"]);
 
ereg("<Katekorie>(.*)</Katekorie>" $elem $xml[$id]["katekorie"]);
 
ereg("<Titel>(.*)</Titel>" $elem $xml[$id]["titel"]);
 
ereg("<Beschreibung>(.*)</Beschreibung>" $elem $xml[$id]["beschreibung"]);
 
ereg("<Leistungsort>(.*)</Leistungsort>" $elem $xml[$id]["ort"]);
 
ereg("<Quelle>(.*)</Quelle>" $elem $xml[$id]["quelle"]);
 
ereg("<Status>(.*)</Status>" $elem $xml[$id]["status"]);
 
ereg("<Type>(.*)</Type>" $elem $xml[$id]["type"]);

 
//baut Array mit den Typs auf
 
$type[$xml[$id]["type"][1]]++;
                             }
                         }
 
if (
is_array($xml)) {
                        
krsort ($xml);
                    }
  
echo 
"<table width='180' border='0' cellspacing='2' cellpadding='0'>";

 foreach (
$xml as $key => $elem) {

// selektion ob Projekt noch offen

 
if ($elem['status'][1] == "offen") {

  
 
// Tabellenansicht
    
echo " <tr>";
    echo 
" <td colspan='4' valign='top'><FONT size='-1' FACE='arial'><strong>".$elem['titel'][1]." </strong></td>\n";
    echo 
" </tr>";
    echo 
" <td valign='top' width='100'><FONT size='-2' FACE='arial'>Typ: ".$elem['type'][1]." </font></td>\n";
    echo 
" <tr>";
    echo 
" <td colspan='4' valign='top'><FONT size='-1' FACE='arial'> ".substr($elem["beschreibung"][1],0,80)."...  </td>\n";
    echo 
" </tr>";
    echo 
" <tr>";
    echo 
" <td valign='top' width='150'><FONT size='-2' FACE='arial'>Ort: ".$elem["ort"][1]." </td>\n";
    echo 
" <td valign='bottom' align='left'><FONT size='-2' FACE='arial'> <a href=\"/index.php?option=com_content&view=article&id=12&jobid=".$key."\" target='_parent'>...mehr</a> </font><br><br></td>\n";
   
    echo 
" <tr>";
 
 } 




echo 
"</table>";

 

?> 
Vorweg schon mal herzlichen Dnak für eure Hilfe,
Tom
Mit Zitat antworten