【问题标题】:Nesting foreach loops嵌套 foreach 循环
【发布时间】:2017-05-03 08:20:18
【问题描述】:

我已经尝试解决这个问题好几天了,我决定认输并寻求帮助:)

我正在构建一个项目管理工具。我有一个编辑页面,管理员可以在其中编辑项目成员及其在项目中的角色。

我希望我的代码输出这样的元素:

我目前的输出:

我希望代码在两个<div class="col-sm-3"></div> 周围输出<div class="row"></div>。我的 foreach 循环嵌套有问题。

我的 PHP 代码

foreach($results2 as $resulto) { // start outer foreach

    echo "<div class='col-sm-3' id='medarbejder'>"; // start medarbejder
    echo "<select class='selectpicker form-control' name='medarbejder[]'>";     
    echo "<option value='$resulto[medarbejderId]' name='medarbejder'";

    echo "selected>";
    echo $resulto['medarbejderNavn'];
    echo "</option>";

    foreach($results as $result) { // start inner foreach           

        echo "<option value='$result[medarbejderId]' name='medarbejder'";
        echo ">";
        echo $result['medarbejderNavn'];
        echo "</option>";
    }
    echo "</select>";
    echo "</div>"; // end inner medarbejdernavn
}

echo "<br/>";
echo "<br/>";
echo "<br/>";
echo "<br/>";
echo "<br/>";
echo "<br/>";

foreach($resultsrolle as $resulto) { // start outer foreach
    echo "<div class='col-sm-3' id='medarbejder'>"; // start medarbejder
    echo "<select class='selectpicker form-control' name='medarbejder[]'>";     
    echo "<option value='$resulto[rolleId]' name='medarbejder'";
    echo "selected>";
    echo $resulto['rolle'];
    echo "</option>";

    foreach($ArrayProjektRoller as $result) { // start inner foreach            
        echo "<option value='$result[id]' name='medarbejder'";
        echo ">";

        echo $result['type'];
        echo "</option>";
    }
    echo "</select>";   
    echo "</div>"; // end rolle 
}       

感谢任何帮助。

【问题讨论】:

  • 一些合理的代码缩进是个好主意。它可以帮助我们阅读代码,更重要的是,它将帮助 您调试代码 Take a quick look at a coding standard 为您自己谋取利益。您可能会被要求在几周/几个月内修改此代码,最后您会感谢我的。
  • 所以这与php无关。更像是一个 CSS 东西,对吧?
  • 这与 CSS 无关。

标签: php html twitter-bootstrap for-loop foreach


【解决方案1】:

我想你忘了在echo "&lt;option value='$resulto[medarbejderId]' name='medarbejder'";echo "selected&gt;"; 之间加一个空格

所以你需要在两个echo " selected&gt;";之间留一个空格

【讨论】:

  • 并不是这个问题的真正答案,尽管将其作为评论会很好,因为它是一个明显的错误
  • 注意到,是的,这是一个错字。
猜你喜欢
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 2012-05-28
  • 2019-07-13
  • 2016-05-28
  • 2020-03-17
相关资源
最近更新 更多