我想正确显示我的表的记录。我目前遇到的问题是我正在重复记录。使用PHP和数据库值的Populatin HTML表
我正在使用foreach和for循环来填充表。当我使用第二个foreach访问我的二维数组以获取其值并进行比较时,问题就出现了。记录的重复次数与2d数组中的数组相同。我不知道在哪里放置我的foreach,或者如果我应该在这种情况下使用它。
应该只有在像一个正常的表
这里的每一行/列组合1个按钮的代码
<table style="float: left;">
<thead>
<tr>
<?php for ($i = 0; $i < 7; $i++): ?>
<th>
<?php echo $dateArray[$i]; ?>
</th>
<?php endfor ?>
</tr>
</thead>
<tbody>
<?php foreach ($data['timeData'] as $timeTable): ?>
<tr>
<?php for ($i = 0; $i < 7; $i++): ?>
<td>
<?php foreach ($data['scheduleData'] as $scheduleData): ?> The problem lies here
<div class="btn-group" data-toggle="buttons">
<?php if (($scheduleData['time_id'] == $timeTable['time_id'] && $scheduleData['date'] == $dateArray[$i] && $scheduleData['status'] === '1')) { ?>
<label class="btn btn-success">
<input type="checkbox" id="<?= $timeTable['time_id']; ?>"
name="time[]" value="<?= $timeTable['time_id']; ?> "
autocomplete="off"><?= $timeTable['time_hour']; ?>
<input type="checkbox" hidden id="<?= $dateArray[$i]; ?>"
name="date[]" value="<?= $dateArray[$i]; ?>">
</label>
<?php } else { ?>
<label class="btn btn-primary">
<input type="checkbox" id="<?= $timeTable['time_id']; ?>"
name="time[]" value="<?= $timeTable['time_id']; ?> "
autocomplete="off"><?= $timeTable['time_hour']; ?>
<input type="checkbox" hidden id="<?= $dateArray[$i]; ?>"
name="date[]" value="<?= $dateArray[$i]; ?>">
</label>
<?php } ?>
</div>
<?php endforeach ?>
</td>
<?php endfor ?>
</tr>
<?php endforeach ?>
</tbody>
</table>
这就是$data['scheduleData']
包含:
Array ([0] => Array ([person_id] => 8
[time_id] => 1
[date] => 2017-05-08
[status] => 1)
[1] => Array ([person_id] => 8
[time_id] => 2
[date] => 2017-05-09
[status] => 1))
我$data['timeData']
包含:
Array ([0] => Array ([time_id] => 1 [time_hour] => 00:00:00)
[1] => Array ([time_id] => 2 [time_hour] => 01:00:00)
[2] => Array ([time_id] => 3 [time_hour] => 02:00:00)
[3] => Array ([time_id] => 4 [time_hour] => 03:00:00)
[4] => Array ([time_id] => 5 [time_hour] => 04:00:00)
. .... .... .... ....
[23] => Array ([time_id] => 24 [time_hour] => 23:00:00))
我的$ dateArray
$dateArray = array();
for ($i = 0; $i < 7; $i++) {
$dateArray[$i] = date("Y-m-d", strtotime("+$i day", strtotime(date("Y-m-d"))));
}
收盘做,你有,你想预期的输出,使我们可以帮助你一件事份额输入数组出。 –
所以你想让我给你我当前的输出和我想要的输出? – Viteazul
我的意思是说,只是分享你正在迭代的数组,你期望从这些数组中, –