单击PHP、JQUERY、MYSQL显示更多来自数据库的信息
我在一个网站上工作,从db表category_names中提取类别名称。然后,我使用php将它们显示在网站上的html无序列表中。我想限制category_名称的数量,然后使用jqueryor或其他任何东西,但我更喜欢jQuery检索更多category_名称,并添加一个较少的按钮返回单击PHP、JQUERY、MYSQL显示更多来自数据库的信息,php,javascript,jquery,mysql,web,Php,Javascript,Jquery,Mysql,Web,我在一个网站上工作,从db表category_names中提取类别名称。然后,我使用php将它们显示在网站上的html无序列表中。我想限制category_名称的数量,然后使用jqueryor或其他任何东西,但我更喜欢jQuery检索更多category_名称,并添加一个较少的按钮返回 我希望我能让这个问题简单易懂,谢谢你的帮助 使用带有分页的数据网格。我认为这将对您很有效根据您的需要,有许多不同的方法会更好或更差 方法1更简单,效率更低,可扩展性差:执行完整查询,并将所有结果存储在DOM上,使
我希望我能让这个问题简单易懂,谢谢你的帮助 使用带有分页的数据网格。我认为这将对您很有效根据您的需要,有许多不同的方法会更好或更差 方法1更简单,效率更低,可扩展性差:执行完整查询,并将所有结果存储在DOM上,使用jQuery jQuery expander隐藏它们是一个简单的插件,您可能想尝试一下,尽管我发现它在定制方面有局限性 方法2更复杂,但更高效/可扩展,也更快:使用MySQL limit,您实际上可以在单击时发送第二个MySQL请求,但是,您需要确保这是异步的,以免延迟用户的交互。
这类似于:基本上使用AJAX来获取更多信息。开始时,使用LIMIT在几分钟内加载 然后使用以下jQuery加载更多内容:
$('#loadmore').click(function() {
var loaded = $(this).attr('num_loaded');
$.ajax({
url:'load_categories.php',
type:'get',
data:{'from':loaded,'to':loaded+10},
success: function (res) {
var categories = $.parseJSON(res);
categories.each(function() {
$('#categories').append('<ul>'+this+'</ul>');
});
$('#loadmore').attr('num_loaded',loaded+10);
}
});
});
最后,您需要创建AJAX调用的PHP页面-load_categories.PHP
或者你可以做一些简单的事情:
$get = mysqli_queury ($link, "SELECT * FROM db_name WHERE blank='blank' LIMIT 5"
if (isset($_POST['button']; {
$get = mysqli_query ($link, "SELECT * FROM db_name WHERE blank='blank' LIMIT 10"
}
?>
<form action="showmore.php" method="POSt">
<input type="button" id="button" name="button">
</form>
希望有帮助 这是一个很好的答案谢谢你。。。我想我可以尝试方法2。。。非常感谢!你好看起来是个不错的解决方案,但我有个问题。它会重新加载所有数据还是在前10条记录之后重新加载数据?老兄,我会崇拜你的
<?php
if (!isset($_GET['from'])) exit;
if (!isset($_GET['to'])) exit;
$from = $_GET['from'];
$to = $_GET['to'];
$diff = $from-$to;
// connect / select db
$res = mysql_query('SELECT * FROM `category_names` LIMIT '.$from-1.','.$to.';');
$arr = array();
while ($row = mysql_fetch_array($res)) {
array_push($arr,$row['name']);
}
echo json_encode($arr);
?>
$get = mysqli_queury ($link, "SELECT * FROM db_name WHERE blank='blank' LIMIT 5"
if (isset($_POST['button']; {
$get = mysqli_query ($link, "SELECT * FROM db_name WHERE blank='blank' LIMIT 10"
}
?>
<form action="showmore.php" method="POSt">
<input type="button" id="button" name="button">
</form>