php - 如何使用ajax从数据库中获取下一行/上一行
问题描述
我正在尝试从 mysql 数据库中获取下一行到 ajax
我设法做到了,但是当我单击上一个按钮时遇到问题,它总是让我回到第一个结果
<script>
$(document).ready(function(){
var card_id = document.getElementById('cardid').value
$(document).on('click', '#previous', function(){
$.ajax({
url:"includes/fetchcards.php",
method:"POST",
dataType: 'json',
data:{card_id:card_id,prev:1},
success:function(data)
{
$('#cardfront').text(data.front)
$('#cardback').text(data.back);
card_id = data.id
alert(card_id)
}
});
});
$(document).on('click', '#next', function(){
$.ajax({
url:"includes/fetchcards.php",
method:"POST",
dataType: 'json',
data:{card_id:card_id, next:1},
success:function(data)
{
$('#cardfront').html(data.front)
$('#cardback').html(data.back);
card_id = data.id
alert(card_id)
}
});
});
});
</script>
php代码
<?php
include 'config.php';
if(isset($_POST["card_id"]))
{
$card_id = $_POST["card_id"];
if(isset($_POST["next"])){
$db->where("id", $card_id, ">") ;
$flaschcard = $db->getOne('cards') ;
}
if(isset($_POST["prev"])){
$db->where("id", $card_id, "<") ;
$flaschcard = $db->getOne('cards') ;
}
if(isset($flaschcard)) {
echo json_encode($flaschcard);
}
}
我希望当我单击上一个按钮时,它会显示上一行,但它总是让我回到第一个结果
解决方案
if(isset($_POST["prev"])){
$db->where("id", $card_id, "<") ;
$db->orderBy("id", "desc"); // Reverse the order to fetch the last one
$flaschcard = $db->getOne('cards') ;
}
推荐阅读
- python - 在 Pandas 中,如何对特定的连续列进行一些算术计算
- google-apps-script - 如何从文档中获取评论和回复列表并将内容添加到工作表中?
- visual-studio - 如何使用 Visual Studio 测试资源管理器从 DynamicData 运行一项特定测试?
- c# - 当 Oracle 存储过程仅返回 -1 时对其进行故障排除
- python - 将具有多个值的熊猫数据框列字符串拆分为单独的行
- html - 如何显示所有名称?
- sql - 消息 7202,级别 11,状态 2,第 1 行在 sys.servers 中找不到服务器“acct”
- google-apps-script - 谷歌表格,两种字体大小一个单元格
- swift - 如何快速获取两个 UICollectionView 的 ScrollView?
- nginx - nginx 反向代理 - 如何为多个应用程序提供服务