私のウェブサイトには検索バーがあります。タイプが選択されている列のテキストバーに入力された値をデータベースに送信して検索するフォームとして機能します。私のフォームは次のようになります
<form action=" " method="POST" >
<select name="search_type">
<option value="fullname">People</option>
<option value="username" >Username</option>
<option value="firstname”>First Name</option>
<option value="lastname" >Last Name</option>
<option value="email" >Email</option>
</select><input type="text" name="value" >
<input type="submit" value="Search">
</form>
検索のたびに更新され、ユーザーはデータを再選択して元に戻す必要があります.最後に検索されたアイテムを再選択する方法はありますか? 次に、そのフォームから PHP を使用して、選択されたタイプを確認し、データベースを調べます...現在、非効率的すぎると感じる条件式がたくさんあります。これらの条件式をすべて取り除き、特定の列を直接検索する方法はありますか? 1 回の呼び出しでデータベースを? (レコードの場合、私の db 列の名前は、user_fullname、user_username、user_firstname、user_lastname、および user_email です)。私のPHPスクリプトは次のようになります(型変数ごとに1つのブロック条件があります)
If($_POST[‘search_type’] == ‘fullname’){
$results ="SELECT `user_id`, `user_username`, `user_firstname`, `user_lastname` FROM `mytable` WHERE user_fullname = {$_POST[‘value’]}";
while($results_row = mysql_fetch_assoc($results)){
$returned_results[] = array( ///returning stuff///);
}}
///etc
任意のタイプに対して 1 つのクエリのみを実行する方法を見つけるために何時間も探していましたが、何も機能しませんでした。アドバイスやヘルプをいただければ幸いです。