検索ページを開くと、
(1) すべての結果がすぐに表示されます (データベース内のすべてのエントリ)。
(2)空の入力で検索ボタンをクリックすると、データベース内のすべてのエントリも表示されます。
これを解決するにはどうすればよいですか? どんな助けでも大歓迎です。
<form action="search.php" method="get">
<input type="text" name="k" size="50" value="<?php echo $_GET['k']; ?>"/>
<input type="submit" value="search" />
</form>
<hr color="white">
<?php
$k = $_GET['k'];
$terms = explode(" ", $k);
$query = "SELECT * FROM table WHERE ";
foreach ($terms as $each) {
$i++;
if ($i == 1)
$query .= "keywords LIKE '%$each%' ";
else
$query .= "OR keywords LIKE '%$each%' ";
}
//connect
mysql_connect("localhost", "abc", "pass");
mysql_select_db("mydb");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0) {
while ($row = mysql_fetch_assoc($query)) {
$id = $row['id'];
$title = $row['title'];
$link = $row['link'];
$picture = $row['picture'];
$keywords = $row['keywords'];
$date = $row['date'];
echo $row['title'];
}
}
else
echo "No results found for \"<b>$k</b>\"";
//disconnect
mysql_close();
?>