一次显示5个搜索结果

时间:2014-03-16 13:45:02

标签: javascript php ajax search pagination

我有一个页面如下搜索单词。我想一次显示5个结果。然后,当我点击show more按钮时,再获得5,依此类推。

1 - 我不太清楚如何在javascript中包含$ _POST ['search']。

2 - 我得到的结果有时会重复,这意味着我的“偏移”和“限制”定义不准确。

你能帮我吗?

<script src="jquery-1.8.3.js" language="javascript" type="application/javascript"></script>

<script>
    $('#showMore').live('click',function(){
        var offset = $('#displayData tr').length;
        var limit  = offset; 
        offset = offset+limit; 
        var search = "?????"; // I don't know how to implemet the search word 
                                   //  in here

     $.ajax({
        url:'getResults.php',
        type:'POST',
        data: {offset: offset, search: search},
        dataType:"text",
        success: function(returnData){
                                $('#displayData').append(returnData);

        }
        })
        })
 </script>


    $search=$_POST["search"];   

    $query2= mysql_query("SELECT *
                FROM table 
                limit 0,5")
    or die(mysql_error());

    ...

<input type="button" id="showMore" value="Show More" />

和Getresults.php(部分)

$offset = $_POST['offset'];
$search = $_POST['search'];

$query2= mysql_query("SELECT *
            FROM table
            limit $offset,5")
or die(mysql_error());

1 个答案:

答案 0 :(得分:0)

我建议使用&#34; ORDER BY&#34;你的MySQL中的子句。这应该有助于防止您的结果在使用限制时重复。作为如何将代码切换到MySQLi的示例,它非常简单。

$link = mysqli_connect('DATABASE HOST', 'USERNAME', 'PASSWORD', 'DATABASE');

$query = "SELECT * FROM table ORDER BY id limit $offset, 5";
$results = mysqli_query($link, $query) or die('MySQL Error');

while ($results = mysqli_fetch_array($results)) {
    print $results['Answer'];
}