0

私が使用している検索スクリプトがあります。名前または場所でユーザーを検索します。検索で見つかった各ユーザーに画像を追加しようとしています。しかし、私が行うと、検索に含まれていなくてもすべてのユーザーの画像がリストされ、検索された名前と画像が次のように数十回複製されます。

image1.jp ユーザー: マイケル image1.jp ユーザー: マイケル image1.jp ユーザー: マイケル image1.jp ユーザー: マイケル image1.jp ユーザー: マイケル image1.jp ユーザー: マイケル

image2.jp ユーザー: eric image2.jp ユーザー: eric image2.jp ユーザー: eric image2.jp ユーザー: eric image2.jp ユーザー: eric image2.jp ユーザー: eric

等々。検索に表示されるユーザーを明らかに 1 に制限することなく、検索に表示されるユーザー プロファイルごとに 1 つの画像のみを表示するように制限する方法を教えてください。

私のコードは次のとおりです。

<form method="get" action="">
<input type="text" name="query" class="search" placeholder="Search Name/Location" style="width:120px;"/>
<input type="image" src="../PTB1/assets/img/icons/loginarrow1.png" class="searchbutton" name="submit" value="Start Search" />
</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="playtime";
$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 ptb_profiles
                        WHERE display_name like '%".$query."%' 
        OR location LIKE '%".$query."%' OR orientation LIKE '%".$query."%'");
echo "<div class=\"results\">";
while($data_fetch=mysql_fetch_array($query_for_result))
{
        $search_set = get_searched_escorts();
        while ($searched = mysql_fetch_array($search_set)) {
    echo "<div class=\"spacing\"><a href=\"profile.php?id={$data_fetch['user_id']}\" class=\"search\">";
    echo "<img width=80px height= 80px src=\"data/photos/{$searched['id']}/_default.jpg\" class=\"boxgrid\"/> "; 
     echo substr($data_fetch[$db_tb_atr_name], 0,160);
    echo "</a></div>";

}
}

mysql_close();
}

?>

ありがとうございました。

4

1 に答える 1

0

GROUP BY user_id
$query_for_result=mysql_query("
SELECT *
FROM ptb_profiles
WHERE display_name like '%".$query."%'
OR location LIKE '%".$query."%' OR orientation LIKE '%".$ を配置してみてくださいquery."%'
GROUP BY user_id");

于 2012-11-02T15:40:12.333 に答える