gpt4 book ai didi

php - 在 HTML 表中显示 MySQL 查询

转载 作者:行者123 更新时间:2023-11-29 12:59:46 25 4
gpt4 key购买 nike

以下代码在表单上显示表格,但我需要以特定方式格式化表格。
所需的输出以图像形式显示。因此,我需要以某种方式操作查询,可以将 Sprinkler_ID 列转换为 1,2,3,4,5,6,7,8。因此,如果我们的原始表中没有 Sprinkler_ID(假设为“2”),则所需的表应在“2”字段中打印“否”,否则为"is"。
enter image description here

<?php
include('config.php');
echo "<h4>Current Schedules</h4>";
echo "<table border=2 >";
echo "<tr>";

echo "<td><b>Sprinkler_Id</b></td>";
echo "<td><b>Schedule_Id</b></td>";
echo "<td><b>Starttime</b></td>";
echo "<td><b>Stoptime</b></td>";
echo "<td><b>Monday</b></td>";
echo "<td><b>Tuesday</b></td>";
echo "<td><b>Wednesday</b></td>";
echo "<td><b>Thursday</b></td>";
echo "<td><b>Friday</b></td>";
echo "<td><b>Saturday</b></td>";
echo "<td><b>Sunday</b></td>";
echo "</tr>";

$sql = "SELECT daystime.*, Sprinkler_ID FROM daystime, scheduler WHERE daystime.id = scheduler.DaysTime_ID ORDER BY Sprinkler_ID, daystime.id";
$results=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($results))
{
$id = $row['id'];
echo "<tr>";
echo "<td valign='top'>" . nl2br( $row['Sprinkler_ID']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['id']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['starttime']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['stoptime']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['mon']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['tue']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['wed']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['thu']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['fri']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['sat']) . "</td>";
echo "<td valign='top'>" . nl2br( $row['sun']) . "</td>";
echo "</tr>";
}
echo "</table>";

?>

current results

最佳答案

您必须首先自定义创建不存在的 1-8 列,因此:

//...continued from code
echo "<td><b>Saturday</b></td>";
echo "<td><b>Sunday</b></td>";
for($i=1;$i<=8;$i++){
echo "<td><b>".$i."</b></td>";
}
echo "</tr>";

然后,我们使用以下内容:

$ids=array();
#we'll first save all the ids into an array
while($row=mysql_fetch_array($results))
{
$ids[$row['id']][]=$row['Sprinkler_ID'];
}
$listed=array();
while($row=mysql_fetch_array($results))
{
$id = $row['id'];

if(!in_array($id,$listed)){
echo "<tr>";
echo "<td valign='top'>" . nl2br( $row['id']) . "</td>";
//...all your other rows


for($i=1;$i<=8;$i++){
if(in_array($i,$ids[$id])){
echo "<td valign='top'>yes</td>";
}
else{
echo "<td valign='top'>no</td>";
}
}


echo "</tr>";
$listed[]=$id;

}
}

逻辑是,我们首先按 id 将重复的 Sprinkler_id 分组为:

    19 => 
[0] => 4,
[1] => 5,

20 =>
[0] => 5,

21 =>
[0] => 4,
[1] => 6

然后,当它循环遍历 id 时,我们确保使用 $listed[] 数组仅打印该行一次。至于"is"和“否”,我们使用之前分组的数组来检查该 idsprinkler_id 是否存在。如果是,则为"is",否则为“否”。

关于php - 在 HTML 表中显示 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23510606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com