www.webdeveloper.com
Results 1 to 3 of 3

Thread: Grouping events using SimpleXML/PHP

Threaded View

  1. #1
    Join Date
    Aug 2004
    Posts
    26

    Grouping events using SimpleXML/PHP

    Hi,

    I have events that I'm pulling in from an XML file using SimpleXML.

    Some events have the same name but they have different links. What I would like to do is group events that have the same name - in other words all the links appear on the outputted HTML file under one event name rather than 2.

    Below is my XML file and the SimpleXML/PHP code.

    Code:
    <matches>
    
    <match>
    <sportname>Polo</sportname>
    <tournamentname/>
    <thetime>16:30</thetime>
    <matchname>Team Red v Team Yellow</matchname>
    <linkset>
    <link lang="de">page1.html</link>
    <link lang="">page2.html</link>
    </linkset>
    </match>
    
    <match>
    <sportname>Polo</sportname>
    <tournamentname/>
    <thetime>4.30pm</thetime>
    <matchname>Team Red v Team Yellow</matchname>
    <linkset>
    <link lang="de">page3.html</link>
    <link lang="">page4.html</link>
    </linkset>
    </match>
    
    </matches>

    PHP Code:
    <?php
        $mymatches 
    simplexml_load_file('test3.xml');
        
        
        foreach (
    $mymatches as $matchlist) {
            
    $match=$matchlist->matchname;
            
    $sport=$matchlist->sportname;
            
    $tournament=$matchlist->tournamentname;
            
    $time=$matchlist->thetime;

            echo 
    "<div class=\"section section".strtolower($sport)." ".strtolower($tournament)."\">";
            echo 
    "<h3>".$time." ";
            if (
    $tournament != "" ) { echo $tournament.": "; }
            echo 
    $match."</h3>\n";
            echo 
    "<div class=\"matchlinks\">\n";
            
            
            
              foreach (
    $matchlist->linkset->link as $linklist) {
          
            echo 
    "<div class=\"matchrow\"><div class=\"channelname\">".$linklist['channelname']."</div><div class=\"language\">".$linklist['lang']."</div><div class=\"link\"><a href=\"".$linklist."\" target=\"_blank\">Visit page</a></div><div class=\"clearb\"></div></div>\n";
                    
            
      }
            echo 
    "</div></div>\n";    
        
      }
    ?>
    I would ideally like to output:
    Team Red v Team Yellow
    - page1.html
    - page2.html
    - page3.html
    - page2.html
    (rather than 2 separate events of the same name which it currently gives me)

    Any ideas?
    Last edited by denhamd2; 07-20-2013 at 10:25 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles