我有一个 mysql 查询,可以检索我的所有主题结果。然后,我有一个分页系统,其中结果被分为多个页面,并且查询的 limit #,#
根据您所在的页面而变化。
我想要做的是将所有这些结果放入两个单独的 div 容器中。我希望每页有 21 个结果。前 9 个我将放在一个 div 中。接下来的 12 个将进入另一个。有谁知道一个有效的方法来做到这一点?我应该使用两个查询、javascript 还是其他方式?我只是在寻找最好、最有效的方法来做到这一点。不幸的是,分页系统使两个查询变得困难。任何建议都将受到高度赞赏。
$sql = "SELECT * FROM topics LIMIT ?,?";
$stmt2 = $conn->prepare($sql);
$result=$stmt2->execute(array(somenumber,somenumber2));
最佳答案
我看不出有什么理由不能执行单个 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
是您的标准用于确定某物放入哪个桶中。
希望能让您走上正确的道路。
关于php - 将 mysql 结果分组到两个单独的 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542882/