PHP Каждый цикл повторяется неправильно Bootstrap структура таблицы - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь заполнить таблицу Bootstrap, чтобы получить такую ​​таблицу:

Пример таблицы

Окончательный результат должен быть таким: i можно увидеть, кто из студентов будет присутствовать в этот день.

Теперь я попытался циклически перебрать результаты моих запросов к базе данных и поместить их в таблицы tr и td, но мне не хватает того, как это сделать правильно. ..и код выглядит очень запутанным ...

Если я сделаю так:

<?php
  if($usersMON) {

       foreach ($usersMON as $userlun){ ?>

          <tr>
              <td class="text-center maiuscolo"><?=$userlun['name']?></td>

    <?php
       }


  }  ?>
  

  
  <?php
  if($usersTUE) {

       foreach ($usersTUE as $usermar){ ?>

              <td class="text-center maiuscolo"><?=$usermar['name']?></td>

    <?php
       }


  } 
  ?>
  

  
  <?php
  
  if($usersWED) {

       foreach ($usersWED as $usermer){ ?>

              <td class="text-center maiuscolo"><?=$usermer['name']?></td>

    <?php
       }


  } 
    ?>
  

  
  <?php
  
  if($usersTHU) {

       foreach ($usersTHU as $usergio){ ?>

              <td class="text-center maiuscolo"><?=$usergio['name']?></td>

    <?php
       }


  } 
    ?>
  

  
  <?php
  
  if($usersFRI) {

       foreach ($usersFRI as $userven){ ?>

              <td class="text-center maiuscolo"><?=$userven['name']?></td>

    <?php
       }


  } 
    ?>
    
    
    </tr>

Я получу следующее:

Результат таблицы

Не могли бы вы подсказать мне, как это сделать?

Ответы [ 2 ]

0 голосов
/ 07 августа 2020
$users = [
    $usersTUE,
    $usersWED,
    $usersTHU,
    $usersFRI
];

$col_count = count($users);
$row_count = 0;
foreach ($users as $u) {
    $row_count = max($row_count, count($u));
}

echo "<table>";
for ($i=0; $i<$row_count; $i++) {
    echo "<tr>";
    for ($t=0; $t<$col_count; $t++) {
        $user = $users[$t][$i] ?? [];
        echo "<td class='text-center maiuscolo'>" . $user['name'] . "</td>";
    }
    echo "</tr>";
}
echo "</table>";
0 голосов
/ 07 августа 2020

Обязательным условием является то, что количество пользователей одинаково.

Вы можете поместить $usersMON ~ $usersFRI в массив.

array_push($allUsers, $usersMON, usersTUE, usersWED, usersTHU, usersFRI);

Затем покажите имя каждого ученика

<?php for ($i=0; $i < $userQuantity; $i++) { ?>
    <tr>
    <?php foreach ($allUsers as $users) { ?>
        <td><?=$users[$i];?></td>
    <?php } ?>
    </tr>
<?php } ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...