循环 SQL 行并对其进行排序
Looping SQL rows and sorting them
正如答案中指出的那样,我不是要组织结果,而是要过滤它们。很抱歉造成混乱!:D
我已经尽力用谷歌搜索解决这个问题,但我很难找到解决方案。
我有一个具有这种结构的SQL数据库,因为我正在尝试制作一个基本的CMS:
PageID | title | pagetext | menu_par
我想做的是在页面上进行导航,循环所有行并使它们看起来像链接,这是我的老师几个月前帮助我做的:
$query_MenuItems = "SELECT pageid,title,menu_par FROM v2 ORDER BY menu_par ASC";
$MenuItems = $mysqli->query($query_MenuItems);
$row_MenuItem = $MenuItems->fetch_assoc();
$totalRows_MenuItems = $MenuItems->num_rows;
do { echo
"<a href='"?page={$row_MenuItem['pageid']}'">{$row_MenuItem['title']}</a><br/>";
}
while ($row_MenuItem = $MenuItems->fetch_assoc());
}
这工作正常,但是我的问题是我不知道如何根据它们的menu_par值对不同的链接进行排序。
我觉得我已经尽我所能解决这个问题,这让我感到压力很大
有什么方法可以制作与上面的循环类似的循环,但使用多个循环对其进行排序?
while ($row_MenuItem = $MenuItems->fetch_assoc())
{
if ("{$row_MenuItem['menu_par']}" == '1') echo
"<a href='"?page={$row_MenuItem['id']}'">{$row_MenuItem['title']}</a><br/>";
}
希望你们能帮我:)
为什么不在 SQL 查询中使用 ORDER BY
?
SELECT pageid,title,menu_par FROM v2 ORDER BY menu_par ASC
通过此查询(以及 ORDER BY x ASC 子句),记录按menu_par值升序排序...
您可以在此处阅读有关此内容的更多信息:http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html
如果您想根据menu_par
值过滤结果(例如,您只想选择那些具有menu_par == 1
的链接),您可以使用WHERE
子句:
SELECT pageid,title,menu_par FROM v2 WHERE menu_par = 1
首先,我没有阅读整个问题,而是加载所有数据,然后,将其排序到 PHP 中似乎不是一个好主意。DBMS就是为此而设计的,由于你对检索数据的查询,你应该通过做这样的事情直接对它们进行排序。
SELECT pageid,title,menu_par FROM v2 order by menu_par
你应该在数据库中使用 WHERE
子句执行此操作。
SELECT pageid,title,menu_par FROM v2
WHERE menu_par = 1
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 如何通过引用var Using DataTables来进行分页或排序
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- Javascript排序字符串或数字
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 捕获初始RedQueryBuilder查询中的SQL问题
- sort而不是排序javascript
- 如何对javascript表进行排序(升序或降序),该表是某些SQL操作表的结果
- 如何在控制器传递的 gsp 连接 sql 行中对表进行排序
- 循环 SQL 行并对其进行排序
- JSON 响应未根据 SQL 查询正确排序
- 将排序保存到sql的最佳方法是什么?