gpt4 book ai didi

php jquery mysql-更好的方式加载更多

转载 作者:行者123 更新时间:2023-11-29 07:32:50 24 4
gpt4 key购买 nike

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

<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 文件:

$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'];
}

这样,我不得不在两个文件中重复两次php-mysql代码。我可以在文件中写一次这段代码吗?谢谢

最佳答案

您的代码效率低下,因为它可以一次加载大量记录。您最好在 sql 查询中使用 offset 子句,以便每次单击“加载更多”时仅加载 2 条记录。

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

<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 字符串添加了 offset 子句,因此您可以一次成功检索 2 个(唯一)记录。

ld_comco.php

$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'];
}

关于php jquery mysql-更好的方式加载更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50421442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com