我想知道是否有可能。
我有一个分页脚本,它使用php从mysql数据库中获取内容并使用jquery来处理所有内容。
我想在分页中添加一个过滤器,根据用户选择删除一些内容。
设置过滤器后,我希望更新分页编号以补偿已删除的项目。
我最担心的是我正在从数据库中直接显示页面数量,这样就无法在过滤时更新分页数字:
<?php
include('config.php');
$per_page = 3;
//Calculating no of pages
$sql = "select * from explore";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pages = ceil($count/$per_page)
?>
有人知道在过滤时是否仍然可以更新这些数字。
我主要使用本教程,以防你想知道: Here
答案 0 :(得分:1)
解决方案是进行过滤服务器端。 IE,当您应用过滤器时,您将数据发送到服务器并更新sql以包含/排除过滤器所说的内容。
答案 1 :(得分:1)
只是为了扩展Byron所说的内容,以下是您执行此操作的方式(基于链接中的代码):
现在在pagination.php中有一行看起来像这样
$sql = "select * from messages";
和pageination_data.php这样:
$sql = "select * from messages order by msg_id limit $start,$per_page";
假设您想要一个仅显示今天消息的过滤器。
然后你需要以下两行:
$sql = "select * from messages where messages.date = curdate() ";
$sql = "select * from messages where messages.date = curdate() order by msg_id limit $start,$per_page";
当然我希望你能以某种方式动态生成sql语句。这允许sql server进行过滤,所有的应用程序代码都保持不变。
注意:请记住,如果您正在制作动态SQL,请不要让自己接受SQL注入攻击。还有许多其他问题可以解决sql注入问题。