【发布时间】:2020-06-01 21:50:16
【问题描述】:
您好,我有一个 ajax 代码,它能够以升序从 sql 表中获取数据。
这是main.php
<?php
$connect = mysqli_connect("localhost", "admin", "", "main");
$sql = "SELECT * FROM names LIMIT 8";
$result = mysqli_query($connect, $sql);
$id = '';
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<div class="table-responsive">
<table class="table table-bordered" id="load_data_table">
<?php
while($row = mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["name"]; ?></td>
</tr>
<?php
$id = $row["id"];
}
?>
<tr id="remove_row">
td><button type="button" name="btn_more" data-id="<?php echo $id; ?>" id="btn_more" class="btn btn-success form-control">more</button></td>
</tr>
</table>
</div>
<script>
$(document).ready(function(){
$(document).on('click', '#btn_more', function(){
var last_id = $(this).data("id");
$('#btn_more').html("Loading...");
$.ajax({
url:"resources/views/frontend/ajax/one.php",
method:"POST",
data:{last_id:last_id},
dataType:"text",
success:function(data)
{
if(data != '')
{
$('#remove_row').remove();
$('#load_data_table').append(data);
}
else
{
$('#btn_more').html("No Data");
}
}
});
});
});
</script>
这是一个.php
<?php
$output = '';
$id = '';
sleep(1);
$connect = mysqli_connect("localhost", "admin", "", "main");
$sql = "SELECT * FROM names WHERE id > ".$_POST['last_id']." LIMIT 8";
$result = mysqli_query($connect, $sql);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result))
{
$id = $row["id"];
$output .= '
<tbody>
<tr>
<td>'.$row["id"].'</td>
<td>'.$row["name"].'</td>
</tr></tbody>';
}
$output .= '
<tbody><tr id="remove_row">
<td><button type="button" name="btn_more" data-id="'. $id .'" id="btn_more" class="btn btn-success form-control">more</button></td>
</tr></tbody>
';
echo $output;
}
?>
我的 sql 表有两列 id 和 name。
此代码非常适合升序,即如果“id”的值增加 (1,2,3...)
我已经尝试过 SQL 语句中的 ORDER BY 子句,但没有成功。
我想按降序显示数据,即首先显示最高的“id”值。
请帮忙。
【问题讨论】:
-
Ajax 与以 ASC 或 DESC 方式排序数据无关。当您查询数据库时,您有权使用 ORDER BY 子句以特定顺序 ASC/DESC 对结果集进行排序。 AJAX 只是用于在后台发送 HTTP 请求和接收响应(异步方式)。
-
对不起,我在最初的问题中没有提到我已经尝试了 ORDER BY 条款。哪个不按预期工作。原因在 one.php 中,条件是 WHERE id > Last ID。感谢所有警告我有关 SQL 注入的人。该代码目前仅适用于本地服务器,仅用于测试目的。