2012-12-18 41 views
-3

我想在此搜索引擎中添加分頁。這是我曾嘗試:如何將分頁添加到搜索結果中?

//get date 
$button = $_GET['submit']; 
$search = $_GET['search']; 

if (!$button) 
    echo "Please fill out the form"; 
else 
{ 
    if (strlen($search)<=2) 
     echo "The item you searched for was to small"; 
    else 
    { 
     echo "You searched for <b>$search</b> <hr size='1'>"; 

    //connect to database 

    mysql_connect('localhost','wnumber','passowrd'); 
    mysql_select_db('wnumber'); 


    //explode search term 
    $search_exploded = explode(" ",$search); 
    foreach($search_exploded as $search_each) 
    { 
     $str = mysql_real_escape_string(substr($search_each, 0, 4)); 
     //construct query 
     $x++; 
     if ($x==1) $construct .= "keywords LIKE '$str%'"; 
     else  $construct .= " OR keywords LIKE '$str%'"; 
    } 

    //echo out construct 
    $construct = "SELECT * FROM word WHERE $construct order by LENGTH(`keywords`)"; 
    $run = mysql_query($construct); 
    $foundnum = mysql_num_rows($run); 

    if ($foundnum==0) 
     echo "No results found."; 
    else 
    { 
     echo "$foundnum results found.<p><hr size='1'>"; 
     while ($runrows = mysql_fetch_assoc($run)) 
     { 

      //get data 
      $meaning = $runrows['meaning']; 
      $keywords = $runrows['keywords']; 

      echo "<b>$keywords</b><br> 
      <b>$meaning</b><br> 
     } 
    } 
    } 

}

+1

在這個網站上有很多「如何添加分頁」問答。 –

+0

例如這一個http://stackoverflow.com/questions/13807106/dynamic-pagination-depending-on-the-number-of-rows-in-mysql-database –

回答

0

看看這個例子,這是你如何可以使分頁與MySQL。

的第一個參數是開始行,第二個是結果的數量來顯示

mysql> select * From t1 limit 0,5; 
+----------+------------+--------------+---------------------+ 
| actor_id | first_name | last_name | last_update   | 
+----------+------------+--------------+---------------------+ 
|  1 | PENELOPE | GUINESS  | 2006-02-15 04:34:33 | 
|  2 | NICK  | WAHLBERG  | 2006-02-15 04:34:33 | 
|  3 | ED   | CHASE  | 2006-02-15 04:34:33 | 
|  4 | JENNIFER | DAVIS  | 2006-02-15 04:34:33 | 
|  5 | JOHNNY  | LOLLOBRIGIDA | 2006-02-15 04:34:33 | 
+----------+------------+--------------+---------------------+ 
5 rows in set (0.00 sec) 

mysql> select * From t1 limit 5,5; 
+----------+------------+-----------+---------------------+ 
| actor_id | first_name | last_name | last_update   | 
+----------+------------+-----------+---------------------+ 
|  6 | BETTE  | NICHOLSON | 2006-02-15 04:34:33 | 
|  7 | GRACE  | MOSTEL | 2006-02-15 04:34:33 | 
|  8 | MATTHEW | JOHANSSON | 2006-02-15 04:34:33 | 
|  9 | JOE  | SWANK  | 2006-02-15 04:34:33 | 
|  10 | CHRISTIAN | GABLE  | 2006-02-15 04:34:33 | 
+----------+------------+-----------+---------------------+ 
5 rows in set (0.00 sec) 

mysql> select * From t1 limit 10,5; 
+----------+------------+-----------+---------------------+ 
| actor_id | first_name | last_name | last_update   | 
+----------+------------+-----------+---------------------+ 
|  11 | ZERO  | CAGE  | 2006-02-15 04:34:33 | 
|  12 | KARL  | BERRY  | 2006-02-15 04:34:33 | 
|  13 | UMA  | WOOD  | 2006-02-15 04:34:33 | 
|  14 | VIVIEN  | BERGEN | 2006-02-15 04:34:33 | 
|  15 | CUBA  | OLIVIER | 2006-02-15 04:34:33 | 
+----------+------------+-----------+---------------------+ 
5 rows in set (0.00 sec) 
+0

THNKS幫助我,但我想php代碼添加分頁 – user1835767

+1

你不要使用PHP分頁,你使用PHP給MySQL的參數,使'下一個'的查詢:http://www.phpeasystep.com/phptu/29.html – jcho360

1

對於分頁,你應該使用SELECT查詢的LIMIT部分。在這裏閱讀文檔:

http://dev.mysql.com/doc/refman/5.0/en/select.html

例如,如果你想每頁有20個項目,並要到第3頁,你應該只是你的「$運行=請求mysql_query($構造)之前添加以下行; 「:

$construct = $construct . " LIMIT 60, 20" 

在這種情況下,你跳過了前60條記錄,並選擇未來20

UPDATE:

對於HTML標記,你可以有這樣的:

<div id="paginator"> 
    <ul> 
    <li><a href="page.php?submit=true&search=text_to_search&page=1>1</a></li> 
    <li><a href="page.php?submit=true&search=text_to_search&page=2>2</a></li> 
    etc. 
    </ul> 
</div> 

那麼你的$按鈕後,添加以下行= $ _GET [ '按鈕']開頭:

$page = (!empty($_GET['page'])) ? ((int)$_GET['page']) : (1); 

,改變我行從上面到:

$construct = $construct . " LIMIT {($page-1)*20}, 20" 

這應該是訣竅。

+0

這只是結果的限制,但我想分頁像上一頁1,2,3,4,5,6下一頁 – user1835767

+0

如何在我的代碼中編輯此代碼 – user1835767

+1

對不起,我不知道如何幫助你。如果這對你來說似乎很難,可以考慮閱讀一本好書,或者聘請一位自由職業者來幫助你。 –

0

可以使用JavaScript庫來顯示分頁。 http://datatables.net

你可以將你的php結果送到這個庫來創建分頁。