【发布时间】:2017-08-20 05:40:23
【问题描述】:
希望有人可以在这里提供帮助。
我正在创建一个站点,该站点将列出赛马技巧,这些技巧是使用 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();
?>
这一切都很好,但会在一个大列表中吐出所有内容。我真正想做的是根据比赛地点将结果分开。
因此,例如,@ location1、5 @ location2 和 5 @ location3 可能有 5 场比赛。而不是一个接一个地列出 15 场比赛,我希望它分成 3 个组/表。有没有办法搜索我的查询数据的 Location 列并确定列出了哪些赛马场,然后将数据回显到屏幕?
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)
【问题讨论】: