我一直在试图弄清楚如何从数据库表中提取信息并将其放入HTML表格中。只要我有一组具有以下代码的列,我就可以使工作正常工作,但是现在想要将代码确定数据库表中的列数更进一步。这是我目前的工作代码:
<?php
include("connection.php");
$query= "SELECT * FROM schedule";
$result = mysqli_query($link, $query);
$scheduletext="<table>";
if($result = mysqli_query($link, $query)) {
while ($row=mysqli_fetch_array($result)) {
$scheduletext.="<tr><td>".$row[1]."</td>";
$scheduletext.="<td>".$row[2]."</td>";
$scheduletext.="<td>".$row[3]."</td></tr>";
}
}
$scheduletext=$scheduletext."</table>";
?>
<html>
<head>
<title>TastySnack - Production Schedule</title>
<link href="https://fonts.googleapis.com/css?family=Kaushan+Script" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="tasty.css">
</head>
<body>
<div id="top">
<div id="top-left">
TastySnack Production
</div>
<div id="top-right">
<img id="logo" src="images/TastysnackLogo.jpg">
</div>
</div>
<div id="split"></div>
<div id="schedule">
<?php print_r($scheduletext); ?>
</div>
</body>
</html>
我正在尝试在上面的代码中添加一个循环来读取表中的列数,但是仍然会出现致命错误:超过30秒的最大执行时间。以下是我到目前为止修改代码的方法:
<?php
include("connection.php");
$query= "SELECT * FROM schedule";
$result = mysqli_query($link, $query);
$scheduletext="<table>";
if($result = mysqli_query($link, $query)) {
while ($row=mysqli_fetch_array($result)) {
$scheduletext.="<tr>";
while($a< mysqli_num_fields($result)) {
$scheduletext.="<td>".$row[$a]."</td>";
}
$scheduletext.="</tr>";
}
}
$scheduletext=$scheduletext."</table>";
?>
我该怎么做才能让它发挥作用?
答案 0 :(得分:0)
默认情况下,php执行时间为30秒。 如果您试图从DB大数据中获取并尝试使用它进行循环,那么脚本执行时间将超过30秒,您将收到错误。 您可以从php.ini配置更改它,或通过添加
从您的脚本更改它set_time_limit(3600)//一小时 要么 ini_set(&#39; max_execution_time&#39;,3600);
秒可以设置为零。零表示脚本可以永久运行。
答案 1 :(得分:0)
对不起伙计们,我只是错过了每个循环增加1美元。添加$ a ++;在$ scheduletext。=“”。$ row [$ a]之后。“”;修复了循环!