我有一个mysql查询,可以检索我的所有主题结果。然后我有一个分页系统,其中结果被分成页面,查询的limit #,#
根据您所在的页面而变化。
我想要做的是将所有这些结果放入两个单独的div容器中。我希望每页有21个结果。前9我将放入一个div。接下来的12个将进入另一个。有谁知道这样做的有效方法?我应该使用两个查询,或javascript,还是其他方式?我只是在寻找最有效的方法来做到这一点。不幸的是,分页系统使得两个查询变得困难。任何建议都高度赞赏。
$sql = "SELECT * FROM topics LIMIT ?,?";
$stmt2 = $conn->prepare($sql);
$result=$stmt2->execute(array(somenumber,somenumber2));
答案 0 :(得分:2)
我没有看到任何原因导致您无法执行单个MySQL查询并使用JavaScript对结果进行排序。明白我在这里不明白你的数据是什么样的,所以我提供的任何例子都必须在这方面保持非常不可知。
但是,我会断言你有一个长度为21的JavaScript数组,其中有一些数据是你显示的基础。假设我们只讨论前9个和后12个,那么排序代码就像:
// assume my_array is the array mentioned above
for (var i = 0; i < 9; i += 1) {
var html = code_to_transform_data_from_array(array[i]);
$('.div1').append($(html));
}
for (var i = 9; i < 21; i += 1) {
var html = code_to_transform_data_from_array_b(array[i]);
$('.div2').append($(html));
}
如果您的排序条件更复杂,那么您最好还是选择......
while (my_array.length > 0) {
var item = my_array.pop();
if (sorting_condition) {
$('.div1').append(f1(item));
}
else {
$('.div2').append(f2(item));
}
}
(在第二个例子中,我成了一个懒惰的打字员并假设f1
和f2
是完整的转换函数。sorting_condition
是你确定哪个桶出现的标准。< / p>
希望能让你走上正轨。