0

重複の可能性:
複数の列で複数のアイテムを
検索する 1 つのクエリで複数のテーブルを検索する (MySQL/PHP#)

ユーザーを名前で検索するこの単純な検索スクリプトを作成しました。表示名と場所の両方を検索できるように、これを少し拡張したいですか? これが可能かどうかを誰かに知らせて、正しい方向に導いてもらえますか? ありがとう。

    <form method="get" action="">
<label>Search For: </label><input type="text" name="query" />
<input type="submit" name="submit" value="Start Search" />
<input type="reset" value="Reset"
</form>

<?php
//PHP CODE STARTS HERE

if(isset($_GET['submit'])){

// Change the fields below as per the requirements
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="telecom";
$db_tb_name="ptb_profiles";
$db_tb_atr_name="display_name"; 

//Now we are going to write a script that will do search task
// leave the below fields as it is except while loop, which will display results on screen

mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");

$query=mysql_real_escape_string($_GET['query']);

$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE 

$db_tb_atr_name like '%".$query."%'" );
echo "<h2>Search Results</h2><ol>";
while($data_fetch=mysql_fetch_array($query_for_result))
{
    echo "<li>";
    echo substr($data_fetch[$db_tb_atr_name], 0,160);
    echo "</li><hr/>";
}
echo "</ol>";

mysql_close();
}
?>
4

1 に答える 1

0

これはどうですか、OR別の条件を追加して追加できます。ANDそれが必要な場合は、代わりに追加できます。

$sql = "SELECT * FROM `$db_tb_name` 
        WHERE display_name like '%".$query."%' 
        OR location LIKE '%".$query."%'"
于 2012-10-30T17:24:23.043 に答える