简体   繁体   English

一次显示搜索结果5

[英]Display the search results 5 at a time

I have a page as below to search for words. 我有一个如下页面来搜索单词。 I want to show 5 results at a time. 我想一次显示5个结果。 Then when I hit the show more button, get another 5, and so on so forth. 然后,当我点击显示更多按钮时,再获得5个,依此类推。

1-I don't quite know how to include the $_POST['search'] in the javascript. 1-我不太清楚如何在JavaScript中包含$ _POST ['search']。

2-The results I get are sometimes duplicate, which means my "offset" and "limit" definitions are not accurate. 2-我得到的结果有时是重复的,这意味着我的“偏移”和“极限”定义不准确。

Could you please help me? 请你帮助我好吗?

<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" />

and the Getresults.php (partially) 和Getresults.php(部分)

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

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

I would recommend using an "ORDER BY" clause in your MySQL. 我建议在您的MySQL中使用“ ORDER BY”子句。 That should help keep your results from duplicating when using a limit. 使用限制时,这应该有助于防止结果重复。 As an example of how to switch your code to MySQLi, it's pretty straightforward. 作为如何将代码切换到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'];
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM