誰かが助けてくれることを願っています。PHP MYSQL - 検索結果の検索と並べ替え
私は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人のレースを1つずつリストアップするのではなく、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)
ありがとうございますが、これはうまくいかないようです。 if/else ifループごとに、エントリの前に 'Location'が追加されます。次のようなものがあります。 LOCATION1位置1午後01時30 Horse1 LOCATION1位置1 14:00 Horse2 LOCATION1位置1午後02時30 Horse3 LOCATION2 LOCATION2 15:30 Horse4 など 私はその、まだすべてのエントリの前に場所を追加し、場所$行を取り出した場合でも。あなたのコードは助けになりました - 私は私がこれよりも解決に近づいているように感じます。 – theukcrazyhorse
今すぐ試してみて、私は別の方法で答えを書いてから、それをもっと簡単にするように考えましたが、いくつかの行を削除するのを忘れました。 – FilipRistic
ありがとうございます。私はこれが多かれ少なかれ私がそれを必要とすると思う。 :) – theukcrazyhorse