首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php jquery更好的加载方式

php jquery更好的加载方式
EN

Stack Overflow用户
提问于 2018-05-19 03:21:06
回答 1查看 44关注 0票数 1

我找到了从mysql加载更多数据的好方法,但我正在寻找更好的方法。这是index.php中的jquery和php代码。

代码语言:javascript
复制
<script>
$(document).ready(function(){
    var comco = 2;
    $("button").click(function(){
        comco = comco + 2;
        $("#comnts").load("ld_comco.php",{
            comnco:comco
        });
    });
});
</script>

<div  id="comnts">
<?php 
$qq="SELECT * FROM t_users limit 2";
$qr=mysqli_query($conn,$qq);while($fff=mysqli_fetch_assoc($qr)){
    echo $fff['id'];
    echo $fff['email'];
}
?>
</div>
<button>load more</button>

和ld_comco.php文件:

代码语言:javascript
复制
$comnco=$_POST['comnco'];
$qq="SELECT * FROM t_users limit $comnco";
$qr=mysqli_query($conn,$qq);while($fff=mysqli_fetch_assoc($qr)){
    echo $fff['id'];
    echo $fff['email'];
}

这样,我必须在两个文件中重复代码两次。我能把这段代码写一次文件吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-19 03:43:28

您的代码效率低下,因为它可以同时加载许多记录。您最好在sql查询中使用偏移子句,以便每次单击load时只加载2条记录。

在下面的代码中,除了一次只检索两个记录外,第一个php+mysql代码被删除并被jQuery按钮单击触发器替换。

代码语言:javascript
复制
<script>
$(document).ready(function() {
  var comco = 2;
  var offset = 0;
  $("button").click(function() {
    $.ajax({
        method: "POST",
       url: "ld_comco.php",
        data: { comnco: comco, offset: offset }
      })
      .done(function(msg) {
        $("#comnts").append(msg);
      });
    offset = offset + comco;
  });

  $("button").trigger("click");
});
</script>

<div  id="comnts">

</div>
<button>load more</button>

在PHP文档中,我为sql字符串添加了偏移子句,这样您就可以成功地一次只检索2条(唯一)记录。

ld_comco.php

代码语言:javascript
复制
$comnco=$_POST['comnco'];
$offset=$_POST['offset'];

$qq="SELECT * FROM t_users limit $offset, $comnco";
$qr=mysqli_query($conn,$qq);while($fff=mysqli_fetch_assoc($qr)){
    echo $fff['id'];
    echo $fff['email'];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50421442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档