【问题标题】:Display the search results 5 at a time一次显示 5 个搜索结果
【发布时间】:2014-04-21 16:06:17
【问题描述】:

我有一个如下页面来搜索单词。我想一次显示 5 个结果。然后当我点击显示更多按钮时,再获得 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());

【问题讨论】:

  • 你容易受到SQL injecction attacks的攻击
  • 真的,不要这样做。 SQL 注入指日可待。并使用 mysqli 代替 mysql。
  • search变量是如何生成的?
  • @MaxArt: 即使在我使用了 bind_param() 之后?
  • 搜索变量在搜索框中生成。我没有包括那部分,因为我的代码太长了。

标签: javascript php ajax search pagination


【解决方案1】:

我建议在您的 MySQL 中使用“ORDER BY”子句。这应该有助于防止您的结果在使用限制时重复。作为如何将代码切换到 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'];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多