Ankündigung

Einklappen
Keine Ankündigung bisher.

XML-File für Newsticker auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML-File für Newsticker auslesen

    Hallo Forum,
    ich seh den Wald wieder mal vor lauter Bäumen nicht.
    Ich realisiere gerade einen Liveticker für eine Homepage.
    Basis ist eine XML-Datei, in der die Daten eingetragen werden:
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Events>
        <Event>
            <Name>offenes Einzel</Name>
            <Ticker>
                <Zeit>12:48:23</Zeit>
                <Text>Tweet 1</Text>
            </Ticker>
        </Event>
        <Event>
            <Name>Doppelturnier</Name>
            <Ticker>
                <Zeit>15:48:23</Zeit>
                <Text>Tweet 1</Text>
            </Ticker>
            <Ticker>
                <Zeit>16:48:23</Zeit>
                <Text>Tweet 2</Text>
            </Ticker>        
            <Ticker>
                <Zeit>17:48:23</Zeit>
                <Text>Tweet 3</Text>
            </Ticker>        
            <Ticker>
                <Zeit>18:48:23</Zeit>
                <Text>Tweet 4</Text>
            </Ticker>        
        </Event>
    </Events>
    Jetzt möchte ich alle Daten in eine PHP Webseite einlesen. Klappt auch, nur bekomme ich pro Event nur immer einen Eintrag, der x-mal (für die Anzahl der Ticker) angezeigt wird. Das sieht so aus:
    screenshot.png
    Der Code für diese Seite ist folgender:
    PHP-Code:
    <?php
        $filename 
    'ticker.xml';
        if (!
    file_exists($filename)) 
        {
            echo 
    '<div class="error">Eine erforderliche Datei fehlt. Wende dich bitte an den Administrator.</div></div></div>'; include("footer.php"); exit();     
        }
        else
        {
            
    $xml_file simplexml_load_file($filename);
        }
        foreach(
    $xml_file->Event as $event
        {  
            echo 
    $event->Name.'<br>';
            
    ?>
            <div class="panel panel-default">
            <div class="panel-heading"> 
                <span class="glyphicon glyphicon-list-alt"></span><b><?php echo $event->Name?></b>
            </div>
            <div class="panel-body">
                <div class="row">
                    <div class="col-xs-12">
                        <ul class="demo1">
                        <?php
                        
    foreach($event->Ticker as $ticker)
                        {
                            
    ?>
                            <li class="news-item">
                                <table cellpadding="4">
                                    <tr>
                                    <td class="ticker"><img src="images/ticker/1.png" width="60" class="img-circle" /></td>
                                    <td class="ticker"><?php echo $event->Ticker->Zeit ": " $event->Ticker->Text?></td>
                                    </tr>
                                </table>
                            </li>
                            <?php
                        
    }
                        
    ?>
                        </ul>
                    </div>
                </div>
            </div>
            <div class="panel-footer"> 
            </div>
        </div>
        <?php
        
    }
    ?>
    Ich habe den Header mal weggelassen.

    Wo kann da der Fehler liegen? Wäre supertoll, wenn mir jemand weiterhelfen könnte. Das sind meine ersten gehversuche mit xml....

    LG Micha

  • #2
    Hallo, ich hab die Lösung jetzt gefunden!
    War ein Fehler bei der Schleife... der funktionierende Code sieht so aus:

    PHP-Code:
        foreach($xml_file->Event as $event) 
        {  
            ?>
            <div class="panel panel-default">
            <div class="panel-heading"> 
                <span class="glyphicon glyphicon-list-alt"></span><b><?php echo $event->Name?></b>
            </div>
            <div class="panel-body">
                <div class="row">
                    <div class="col-xs-12">
                        <ul class="demo1">
                        <?php
                        
    for ($i 0$i count($event->Ticker); $i++) 
                        {                     
                            
    ?>
                            <li class="news-item">
                                <table cellpadding="4">
                                    <tr>
                                    <td class="ticker"><img src="images/ticker/1.png" width="60" class="img-circle" /></td>
                                    <td class="ticker"><?php echo $event->Ticker[$i]->Zeit ": " $event->Ticker[$i]->Text?></td>
                                    </tr>
                                </table>
                            </li>
                            <?php
                        
    }
                        
    ?>
                        </ul>
                    </div>
                </div>
            </div>
            <div class="panel-footer"> 
            </div>
        </div>
        <?php
        
    }
    Trotzdem Danke!

    Kommentar

    Lädt...
    X