почему php l oop отображается не со всеми значениями и не объединено html? - PullRequest
0 голосов
/ 24 марта 2020

Пожалуйста, проверьте 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>';

}
?>

Я хочу l oop все значения имени внутри html карточек. согласно l oop есть 7 всех значений имени. когда я повторяю их, это будет правильно. но когда я объединяю & echo $card, как показано ниже.

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

Тогда я могу показать только первое значение атрибута name. Почему я не могу получить все значения имени с картой. Я думаю, что код выглядит неплохо в любом случае.

Ответы [ 2 ]

1 голос
/ 24 марта 2020

change

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

с

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

* Хорошей практикой является инициализация ваших переменных, если вы этого не сделаете, механизм PHP выполнит приведение типа в зависимости на переменное использование.

0 голосов
/ 24 марта 2020

Вы перезаписываете переменную $card каждый раз вокруг l oop, поэтому все, что у вас осталось после l oop - последняя карта.

$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>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...