2011-06-25 11 views

答えて

2
<?php 

$database=mysql_connect("localhost","username","password"); 
mysql_select_db("database"); 

if(!empty($_GET['q'])){ 
    $query= mysql_real_escape_string(trim($_GET['q'])); 
    $searchSQL = "SELECT * FROM links WHERE `title` LIKE '%{$query}%' LIMIT 0,5"; 
    //                .^. 
    //          add a limit clause here. | 
    $searchResult = mysql_query($searchSQL); 

    while ($row=mysql_fetch_assoc($searchResult)){ 
     $results[] = "<div class='webresult'><div class='title'><a href='{$row['url']}'>{$row['title']}</a></div><div class='desc'>{$row['description']}</div><div class='url'>{$row['url']}</div></div>"; 
    } 

    echo implode($results); 
} 
?> 
  1. ソリューション:返される結果の数を制限するために、あなたのクエリにLIMIT句を追加します。

  2. 提案:この方法は、あなたが親切GLOBAL変数のトラブルを避けることができますので、if節内のデータベースクエリのコードを配置します。

    あなたが$searchSQL = "SELECT * FROM links WHEREタイトルを持っている
+1

変更は 'LIMIT 0、5'を追加することでした。制限セレクタに関する詳細はこちらhttp://dev.mysql.com/doc/refman/5.0/en/limit-optimization.html – Swift

0

LIKE '%{$query}%'";あなたはとてもようにLIMIT句を使用して、これを変更することができます。

$searchSQL = "SELECT * FROM links WHERE `title` LIKE '%{$query}%' LIMIT 5"; 

の詳細については、LIMIT句を使用して、次のリンクを試してください:

MySQL Reference guide

0
SELECT * FROM links WHERE `title` LIKE '%{$query}%' LIMIT 0,5" 

5つの結果を再生します。

関連する問題