foreach循环里面$ output

时间:2018-02-04 09:43:02

标签: php foreach

我正在尝试在$output = '';及更晚echo $output;内运行foreach循环。 我可以在'.$row["name"].'内打印任何其他变量,例如$output = '';,但可以执行foreach循环。

if(isset($_POST["id"]))
    {

      $output = '';
      $query = mysqli_query($databaseLink, "SELECT * FROM test WHERE test_id = '".$_POST["id"]."'");
      while($row = mysqli_fetch_array($query))
      {
        $output .= '
        <div class="row">
        <div class="input-field custom-check col s4">
        <h4 class="project-label-display project-label-display-center" > Practice Vertical </h4>
        '$list_id= explode(",", $row["pet_id"]);
        foreach($list_id as $value) {
        <br>
        print $value;
        <br> }'
    ';
      }
      echo $output;
    }

事情是我不能在$output .= ' ';内进行预测循环,它不起作用。

好的就是这里的代码

$list_id= explode(",", $row["pet_id"]);
foreach($list_id as $value) {
    <br>
    print $value;
    <br>
}
如果我在$output .= ' ';之外运行它,

运行得很好。

$output .= ' '内的任何PHP代码都应该包含在另一个'. .'' '内,否则它将成为一个简单的文本。所以,如果我想打印一个变量,我必须这样做'.$count.'。但我不能使用循环。

3 个答案:

答案 0 :(得分:2)

您没有正确关闭<div>s,也没有正确地将输出分配给$output。我修正了单撇号'的位置,使它们有意义。

以下是更正后的代码:

if(isset($_POST["test_id"]))
{
   $output = '';
   $query = mysqli_query($databaseLink, "SELECT * FROM test WHERE test_id = '".$_POST["test_id"]."'");

   while($row = mysqli_fetch_array($query))
   {
      $output .= '
      <div class="row">
      <div class="input-field custom-check col s4">
      <h4 class="project-label-display project-label-display-center"> Practice Vertical </h4>';

       $list_id= explode(",", $row["pet_id"]);
       foreach($list_id as $value)
       {
          $output .= '<br>'.$value.'<br>';
       }
       $output .= '</div>
       </div>';
    }

  echo $output;
}

答案 1 :(得分:0)

一种简单的方法:

while($row = mysqli_fetch_array($query))
{
    $output .= '
        <div class="row">
        <div class="input-field custom-check col s4">
        <h4 class="project-label-display project-label-display-center" > Practice Vertical </h4>';

    // Add every id to your output explicictly
    $list_id = explode(",", $row["pet_id"]);
    foreach($list_id as $value) {
        $output .= '<br>' . $value . '<br>';
    }

    $output .= '</div>';
}

答案 2 :(得分:0)

请尝试以下代码:

<?php 
if(isset($_POST["id"]))
    {

      $output = '';
      $query = mysqli_query($databaseLink, "SELECT * FROM test WHERE test_id = '".$_POST["id"]."'");
      while($row = mysqli_fetch_array($query))
      {
        $output .= '
        <div class="row">
        <div class="input-field custom-check col s4">
        <h4 class="project-label-display project-label-display-center" > Practice Vertical </h4>';
        $list_id= explode(",", $row["pet_id"]);
        foreach($list_id as $value) {
              $output = $output."<br>".$value."<br>";
        }
        $output .= '</div>';
      }
      echo $output;
    }
?>