gpt4 book ai didi

php - 在多个html表格中显示结果

转载 作者:行者123 更新时间:2023-11-29 05:38:10 25 4
gpt4 key购买 nike

我一直在为我们的曲棍球俱乐部制作一份志愿者报名表。我使用 while 循环在表格中显示结果。

一切正常,但我现在想让输出更加用户友好。我按日期对查询进行排序并将其显示在一个表中。我想做的是为每个不同的日期显示一个新表。该表的标题将是日期,行将包含按时间排序的该日期的所有事件。我认为这会让人们更容易找到特定日期的事件。

我的 table 是这样设置的:id, date, time, game, name1, name2, name3, name4, name5

这是我主页上的查询:

<?php
//displays the table
$result = mysql_query("SELECT * FROM namestable ORDER BY date, time ASC");
displayTable($result);
?>

这是我的功能:

<?php
function displayTable($result){

echo "
<table border='1'>
<tr class='top'>
<th class='date'>Date</th>
<th class='time'>Time</th>
<th class='game'>Game</th>
<th class='name'>Name</th>
<th class='name'>Name</th>
<th class='name'>Name</th>
<th class='name'>Name</th>
<th class='name'>Name</th>
<th class='sign'>Sign Up</th>
</tr>";

while($row = mysql_fetch_array($result))

{
//change the date format here
$fdate = date('M jS, Y l', strtotime($row['date']));
echo "<tr>";
echo "<td class='date'>" . $fdate . "</td>";
echo "<td class='time'>" . $row['time'] . "</td>";
echo "<td class='game'>" . $row['game'] . "</td>";
echo "<td class='nameA'>" . $row['name1'] . "</td>";
echo "<td class='nameB'>" . $row['name2'] . "</td>";
echo "<td class='nameA'>" . $row['name3'] . "</td>";
echo "<td class='nameB'>" . $row['name4'] . "</td>";
echo "<td class='nameA'>" . $row['name5'] . "</td>";
$id = $row['id'];
echo "<td class='sign'>" . "<form name='input' action='process.php' method='POST'>
<input type='text' name='name' maxlength='25' value='Enter Name' onfocus=\"if(this.value=='Enter Name') this.value='';\"/>
<input type='hidden' name='id' value='$id'/>
<input type='submit' value='Sign Up' />
<input type='submit' name='dname' value='Remove Name' /></form>" .
"<form name='delete' action='delete.php' method='POST'>
<input type='hidden' name='id' value='$id'/>";
if(isset($_SESSION['user_id'])){
echo "<input type='submit' name='delete' value='Delete Event' /></form>" .
"</td>";
}else{
echo "</form>" .
"</td>";
}
echo "</tr>";
}
echo "</table>";
echo "<br />";
}
?>

用户可以输入姓名进行注册和删除自己的姓名。

管理员可以添加和删除事件。

有什么建议吗?

最佳答案

由于您的结果已经按日期排序,您只需将之前的日期存储在一个变量中,并在每次更改时创建一个新表。

$olddate = '';

while($row = mysql_fetch_array($result))
{
$fdate = date('M jS, Y l', strtotime($row['date']));
if ( $olddate != $fdate ) { // date has changed:
// end the previous table (if it exists)
if ( $olddate != '' ) {
echo "</table>"
}
// start the new table. Do something with $fdate here if you like
echo "
<h3>$fdate</h3>
<table border='1'>
<tr class='top'>
...
</tr>";
}
// print a row as before.
echo "<tr>";
....
}
// end the last table
echo "</table>";

基本上唯一改变的是 $fdate 也存储在 $olddate 中。当我们处理一个新行时,如果日期已更改(即 $olddate != $fdate),我们将创建一个新表。

对于 mysql 结果中的每一行,我们仍然像以前一样生成一个表行(您可能想要进行一些更改,例如不再包括 Date 列)。

关于php - 在多个html表格中显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981332/

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