【问题标题】:Foreach only showing the last rowForeach 只显示最后一行
【发布时间】:2014-02-27 19:37:32
【问题描述】:

我想用“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>";
?>

谁能告诉我怎么了?谢谢

【问题讨论】:

  • 你能不能在循环开始之前 print_r($xml) 让我们看看加载了什么。

标签: php xml foreach substr


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-07-18
    • 2018-08-08
    • 2019-01-26
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多