php - 将 mysql 结果分组到两个单独的 div 中

标签 php javascript jquery mysql

我有一个 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));
    }
}

(在第二个示例中,我变成了一个懒惰的打字员,并假设 f1f2 是完整的转换函数。sorting_condition 是您的标准用于确定某物放入哪个桶中。

希望能让您走上正确的道路。

关于php - 将 mysql 结果分组到两个单独的 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542882/

相关文章:

用于匹配包括特殊字符在内的整个单词的Javascript正则表达式

javascript - 如何使用 jquery 更改元素内的文本?

javascript - jQuery 计数器关闭

php - 为什么我的 Ajax 功能不起作用?

javascript - 使用 Mongoose 通过 EJS 发送 DELETE 请求

javascript - 在 Electron 和 Angular 应用程序中下载文件

jquery - 当文本在 flash 或 jquery 谷歌地图上滚动时,固定 div 中的文本字体粗细会发生变化,为什么以及如何处理它?

php - Carbon::now() 没有使用 UTC

php - 获取当前帖子的分类术语并将其显示为 ID

php - 如何将从 mysql 表检索的值存储在变量中,并使用 php 在另一个查询中使用它