私は以下の質問をしており、最初の試合だけをリストしたいと思います。DISTINCTを使用して重複をフィルタリングしますか?
$first = $_GET['category'];
$first = $first[0] . "%";
$query = mysql_query("SELECT * FROM lyrics WHERE authorclean LIKE '".$first."'") or die(mysql_error());
(?カテゴリ= B)
この権利を行うことができますので、DISTINCT?これは私が試みたが、うまくいかなかったものです:
$query = mysql_query("SELECT DISTINCT authorclean FROM lyrics WHERE authorclean LIKE '".$first."'") or die(mysql_error());
EDIT:
function getCategory() {
$first = $_GET['category'];
$first = $first[0] . "%";
$query = mysql_query("SELECT DISTINCT authorclean FROM lyrics WHERE authorclean LIKE 'B%'") or die(mysql_error());
//$query = mysql_query("SELECT * FROM lyrics WHERE authorclean LIKE '".$first."'") or die(mysql_error());
if(mysql_num_rows($query) == 0) {
echo "Geen resultaten gevonden.";
} else {
while ($row = mysql_fetch_assoc($query)) { ?>
<p><a href="/<?= $_GET['category']; ?>/<?= strtolower($row['authorclean']); ?>/"><?= $row['author']; ?></a></p>
<?php }
}
}
(B%は単なるテストのためである)
私が実行している場合:ここでは完全なコードですデータベースのこの次のクエリは、私は2つの結果を直接取得します。上記のコードを実行すると、空のページが表示されます(既にHTMLのものは除きます)。
SELECT DISTINCT authorclean FROM lyrics WHERE authorclean LIKE 'B%'
では動作しませんか間違いましたか?間違った結果を得ましたか?また、SQLインジェクションについてもお読みください。エスケープせずにSQLクエリで外部入力を直接使用しないでください。 – liquorvicar
結果は返さず、空のページだけが返されます。エラーメッセージはありません。 – user1333327
実際のクエリをダンプし、その結果を返すかどうかをdbに対して直接実行しましたか? – liquorvicar