【问题标题】:why php loop doesn't appear with all values & concatenated html?为什么php循环没有出现所有值并连接html?
【发布时间】:2020-03-24 15:22:27
【问题描述】:

请查看下面给出的 php 代码。

<?php
$con = mysqli_connect('localhost', 'root', '', 'unityaccess');
if (mysqli_connect_errno()) {
  echo "connection failed";
  exit();
}

$query = "SELECT * FROM  players ORDER BY id DESC";

$row_result = mysqli_query($con, $query);
while($record = mysqli_fetch_assoc($row_result)){
  $card = '<div class="card">';
   $card .= '<div class="card-body">';
   $card .= '<div class="comment-header">';
   $card .= '<h6 class="card-subtitle mb-2 comment-name">'.$record['name'].'&nbsp;</h6>';
   $card .= '</div>';
   $card .= '</div>';
   $card .= '</div>';

}
?>

我想在 html 卡片中循环所有名称值。根据循环,有 7 个所有名称值。当我回显它们时,它会正确循环。但是当我连接 & echo $card 时,如下所示。

    <div class="row">
      <div class="col-md-12 comment-section">
        <h4>Comments</h4>
        <?php
          echo $card;
        ?>
      </div>
    </div>

那么我只能显示name 属性的第一个值。为什么我无法使用卡检索所有名称值。我认为代码看起来还不错。

【问题讨论】:

  • “当我连接时”请显示你正在执行的代码
  • 你可以看到带有 .= 标记的 $card
  • 正确,但您没有连接 结果。你每次都在创建一个新的$card

标签: php html bootstrap-4 concatenation


【解决方案1】:

改变

  $card = '<div class="card">';

   $card .= '<div class="card">';

*初始化变量是一个好习惯,如果你不这样做,PHP 引擎会根据变量的使用情况进行类型转换。

【讨论】:

  • 你的意思是第一个
  • 是的,你正在覆盖没有它的字符串。
  • 谢谢。当我学习它时,它显示第一个没有串联。
  • Tom,您还必须提醒 OP,$card 变量必须在循环外初始化,然后才能在循环内连接到 $card
【解决方案2】:

您每次循环都会覆盖$card 变量,因此循环后剩下的就是最后一张卡片。

$row_result = mysqli_query($con, $query);

$card = ''; // init the card variable, so you can use `.=` from here on

while($record = mysqli_fetch_assoc($row_result)){
    //$card = '<div class="card">';    this was the offending line
    $card .= '<div class="card">';
    $card .= '  <div class="card-body">';
    $card .= '      <div class="comment-header">';
    $card .= '          <h6 class="card-subtitle mb-2 comment-name">'.$record['name'].'&nbsp;</h6>';
    $card .= '      </div>';
    $card .= '  </div>';
    $card .= '</div>';
}

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 2021-11-27
    • 2020-11-25
    • 2023-01-27
    • 1970-01-01
    • 2021-06-01
    • 2013-08-04
    • 2020-04-04
    • 1970-01-01
    相关资源
    最近更新 更多