Foreach只显示最后一行

时间:2014-02-27 19:37:32

标签: php xml foreach substr

我想用“UP”,“DOWN”,“NEW”,“ - ”打印电影票房,以显示每部电影排名的演变。所以这就是为什么我创造了一个解释等级演变的条件(在一个正数或负数的方面)。不过,我只设法打印最后一部电影的信息。

这是我的代码:

<?php
$xml = simplexml_load_file($fichier);
foreach ($xml->weeklyBoxOfficeList->weeklyBoxOffice as $film)
    echo "
    <tr>
      <td class='rank'>{$film->rank}</td>
      <td class='rank-evo'>"; 
      if(substr($film->rankInten,0,1) == '-') 
        echo "<img src='_img/down.png'/>$film->rankInten"; 
      elseif(substr($film->rankInten,0,1) == 0 and $film->rankOldAndNew == 'OLD') 
        echo "<img src='_img/old.png'/>"; 
      elseif(substr($film->rankInten,0,1) == 0 and $film->rankOldAndNew == 'NEW') 
        echo "<img src='_img/new.png'/>"; 
      else 
        echo "<img src='_img/up.png'/>$film->rankInten"; 
      echo "</td> 
      <td>{$film->movieNm}</td>
    </tr>";
?>

谁能告诉我什么是错的?谢谢

1 个答案:

答案 0 :(得分:2)

我想你忘了用大括号括起循环 -

foreach ($xml->weeklyBoxOfficeList->weeklyBoxOffice as $film) { // <- this
    echo "...";
    ...
    echo "</td> 
    <td>{$film->movieNm}</td>
    </tr>";
} // <-