我正在从mysql数据库中查询一些数据,而这一切在blahblah托管的我的网站的实时版本上都可以正常使用。然后,我在本地计算机上重新创建了数据库以进行开发,以便可以处理一些真实数据。我的问题是,在代码的HTML部分中,这给了我
注意:未定义索引:已登上
对于尝试回显的每个条目都说这句话。 我知道一个事实,即从中提取的数组确实有一个“已加载”元素,依此类推。
这是阵列转储的第一项。
results.array(101){ [0]=> array(7) { ["boarded"]=>
> string(1) "5" ["stop"]=> string(11) "Anthony - N" ["timestamp"]=>
> string(19) "2019-02-02 19:06:13" ["date"]=> string(10) "2019-02-02"
> ["loop"]=> string(9) "Blue Loop" ["driver"]=> string(5) "Yikes"
> ["id"]=> string(3) "368" }
HTML部分
<table>
<tr>
<th>Boarded</th>
<th>Stop</th>
<th>Timestamp</th>
<th>Date</th>
<th>Loop</th>
<th>Driver</th>
<th>ID</th>
</tr>
<? foreach ($log as $logs): ?>
<tr>
<td><?= $logs["boarded"] ?></td>
<td><?= $logs["stop"] ?></td>
<td><?= $logs["timestamp"] ?></td>
<td><?= $logs["date"] ?></td>
<td><?= $logs["loop"] ?></td>
<td><?= $logs["driver"] ?></td>
<td><?= $logs["id"] ?></td>
</tr>
<? endforeach ?>
</ul>
</table>
正在创建的数组
if($result = mysqli_query($con,$sql))
{
$cr = 0;
while($row = mysqli_fetch_assoc($result))
{
$logs[$cr]['boarded'] = $row['boarded'];
$logs[$cr]['stop'] = $row['stop'];
$logs[$cr]['timestamp'] = $row['timestamp'];
$logs[$cr]['date'] = $row['date'];
$logs[$cr]['loop'] = $row['loop'];
$logs[$cr]['driver'] = $row['driver'];
$logs[$cr]['id'] = $row['id'];
$cr++;
}
}
有什么想法吗?
答案 0 :(得分:0)
您的<? foreach ($log as $logs): ?>
可能有问题,似乎已经倒退了。
以下在这里工作正常。
<?php
if($result = mysqli_query($con,$sql))
{
$logs = array();
while($row = mysqli_fetch_assoc($result))
{
array_push( $logs, $row);
}
}
?>
HTML
<table>
<tr>
<th>Boarded</th>
<th>Stop</th>
<th>Timestamp</th>
<th>Date</th>
<th>Loop</th>
<th>Driver</th>
<th>ID</th>
</tr>
<?php foreach ($logs as $log): ?>
<tr>
<td><?php echo $log["boarded"]; ?></td>
<td><?php echo $log["stop"]; ?></td>
<td><?php echo $log["timestamp"]; ?></td>
<td><?php echo $log["date"]; ?></td>
<td><?php echo $log["loop"]; ?></td>
<td><?php echo $log["driver"]; ?></td>
<td><?php echo $log["id"]; ?></td>
</tr>
<?php endforeach; ?>
</ul>
</table>