ウェブを読んでトロールすることで、私が持っているMySQLデータベースでテキスト検索を行うHTMLフォームとPHPスクリプトを構築することができました。フォームの1つのフィールドに入力されたテキストから正常に検索できます。これを拡張して、ユーザーに 2 つのフィールドを提供し、1 つまたは両方にデータを入力して結果を絞り込むことができるようにする方法を考えていました。つまり、「John」という名前のすべてのエントリ、または「John」という名前のすべてのエントリを検索します。 「ダブリン」という街。私は MySQL クエリの多くの操作を試みましたが、十分に機能させることに成功していません。これを機能させるには、以下のコードをどのように記述すればよいですか?
私のHTMLフォームコードは次のとおりです。
<form method="POST" action="search.php" name="formid">
Name: <input type="text" name="query" /><br>
City: <input type="text" name="city" /><br>
<input type="submit" name="submit" value="Start Search" />
</form>
&PHPコードは次のとおりです。
<?php
include 'db_details.php';
$connection = mysql_connect($server, $user, $password);
mysql_select_db($db, $connection);
$query=mysql_real_escape_string($_POST['query']);
$query = htmlspecialchars($query);
$result=mysql_query("SELECT * FROM colour WHERE (firstname LIKE '%".$query."%') ", $connection) or die ("Cannot run query");
echo "<h2>Search Results</h2>";
while ($row = mysql_fetch_assoc($result))
{
foreach ($row as $attribute)
echo "{$attribute} ";
echo "<br>";
}
mysql_close();
?>