-1

検索スクリプトで2つのことをしようとしています。

結果が見つからない場合はエコー「結果なし」と言うifステートメントを追加する方法を知りたいです。

次に、現時点では結果を5に制限していますが、ユーザーが[他の結果を表示]をクリックできるようにしたいので、「ロンドン」でユーザーを検索している場合は、[すべての結果を表示]をクリックすると新しいウィンドウで開きます。検索のすべての結果が新しいウィンドウに表示されていますか?

誰かが私を助けてくれますか、これにしばらく取り組んでいて、まだphpとmysqlを学んでいます。

<?php
//PHP CODE STARTS HERE

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

// Change the fields below as per the requirements
$db_host="###";
$db_username="###";
$db_password="";
$db_name="###";
$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_stats
                        WHERE display_name like '%".$query."%' OR location LIKE '%".$query."%' OR hobbies LIKE '%".$query."%' OR nationality LIKE '%".$query."%' OR gender LIKE '%".$query."%' OR local_station LIKE '%".$query."%' LIMIT 5");
echo "<div class=\"search-results\">";
while($data_fetch=mysql_fetch_array($query_for_result))
{

    echo "<div class=\"text\"><a href=\"profile.php?id={$data_fetch['user_id']}\" class=\"search\">";
    echo "<div class=\"spacing\"><img width=35px height= 30px src=\"data/photos/{$data_fetch['user_id']}/_default.jpg\" class=\"boxgridsearch\"/> "; 
     echo substr($data_fetch[$db_tb_atr_name], 0,160);
    echo "</a></div></div>";

}
echo "<div class=\"morebutton-search\"><a href=\"search_escorts.php?to=echo '%".$query."%'\" target=\"_blank\" \">+ view more results</a></div>";


mysql_close();
}

?>
4

1 に答える 1

0

最初の部分では、0行が返されたかどうかをmysql_num_rowsで確認できます。ただし、これmysql_は非推奨であり、mysqliまたはPDOに移行する必要があることに注意してください。

if(mysql_num_rows($query_for_result)==0){
    echo 'No Results';
}else{
    //process code
}    

2番目の部分では、ページネーションを探しているように聞こえます。ページ番号を含むGET変数があり、それに基づいて正しい結果セットが返されます。LONDONのような場所で別のGETと呼ばれる場所を持つことができます。次に、正しいデータが表示された別のページにクエリをロードできます。

于 2012-12-29T22:32:02.137 に答える