希望有人可以在这里提供帮助。
我正在创建一个网站,列出赛马技巧,这些技巧是使用PHP脚本从MySQL数据库中提取的。我设法创建了数据库,它有五列(ID,RaceDate,Location,RaceTime和Horse),我创建了一些查询RaceDate列的脚本,只显示与当前日期匹配的行。见下文:
<?php
$db_host = 'xxxxx'; // Server Name
$db_user = 'xxxxx'; // Username
$db_pass = 'xxxxx'; // Password
$db_name = 'xxxxx'; // Database Name
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
die ('Failed to connect to MySQL: ' . mysqli_connect_error());
}
$sql = 'SELECT * FROM Horses WHERE Date(RaceDate) = Date(NOW())';
$result = $conn->query($sql);
?>
然后我的页面上还有另一个php,它回显了屏幕上的数据,格式化在漂亮的表格中。
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<tr>
<td>'.$row['Location'].'</td>
<td>'.$row['RaceTime'].'</td>
<td>'.$row['Horse'].'</td>
</tr>';
}
} else {
echo '0 results';
}
$conn->close();
?>
这一切都很有效,但是在一个大清单中吐出一切。我真正希望能够做的是根据比赛位置分割结果。
因此,例如,可能有5场比赛@location1,5 @ @ location2和5 @ location3。我不是一个接一个地列出15场比赛,而是将它分成3组/桌。有没有办法搜索我的查询数据的位置列并确定列出了哪些赛马场,然后将数据回显到屏幕?
e.g IF Location = Wolverhampton
THEN echo to table 1
ELSE IF Location = Ayr
THEN echo to table 2
ELSE IF Location = Llos Fas
THEN echo to table 3
(etc, if more Locations exist)
答案 0 :(得分:0)
我的评论只是复杂的事情,这是更简单的方法。
while($row = $result->fetch_assoc()) {
if($row['Location'] === 'location1')
{
echo '<tr>
<td>'.$row['Location'].'</td>
<td>'.$row['RaceTime'].'</td>
<td>'.$row['Horse'].'</td>
</tr>';
}else if($row['Location'] === 'location2')
{
echo '<tr>
<td>'.$row['Location'].'</td>
<td>'.$row['RaceTime'].'</td>
<td>'.$row['Horse'].'</td>
</tr>';
}else if($row['Location'] === 'location3')
{
echo '<tr>
<td>'.$row['Location'].'</td>
<td>'.$row['RaceTime'].'</td>
<td>'.$row['Horse'].'</td>
</tr>';
}
// And so on....
}