Php 循环SQL行并对其排序
正如答案中指出的那样,我不是想整理结果,而是想过滤它们。我很抱歉搞混了!:D 我已经尽了最大努力用谷歌搜索出解决这个问题的方法,但我很难找到解决办法 我有一个具有这种结构的SQL数据库,因为我正在尝试制作一个基本的CMS: 页面ID |标题|页面文本|菜单|第 我想做的是在页面上做一个导航,循环所有行,使它们看起来像链接,几个月前我的老师曾帮助我:Php 循环SQL行并对其排序,php,javascript,sql,loops,Php,Javascript,Sql,Loops,正如答案中指出的那样,我不是想整理结果,而是想过滤它们。我很抱歉搞混了!:D 我已经尽了最大努力用谷歌搜索出解决这个问题的方法,但我很难找到解决办法 我有一个具有这种结构的SQL数据库,因为我正在尝试制作一个基本的CMS: 页面ID |标题|页面文本|菜单|第 我想做的是在页面上做一个导航,循环所有行,使它们看起来像链接,几个月前我的老师曾帮助我: $query_MenuItems = "SELECT pageid,title,menu_par FROM v2 ORDER BY 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());
}
$query\u MenuItems=“按菜单从v2订单中选择页面ID、标题、菜单项”;
$MenuItems=$mysqli->query($query\u MenuItems);
$row\u MenuItem=$MenuItems->fetch\u assoc();
$totalRows\u MenuItems=$MenuItems->num\u行;
做{echo
“
”;
}
而($row\u MenuItem=$MenuItems->fetch\u assoc());
}
这很好,但是我的问题是,我不知道如何根据菜单面值对不同的链接进行排序
我觉得我已经尽了我所能来解决这个问题,这让我感到压力很大
是否有任何方法可以创建一个与上面类似的循环,但使用多个循环进行排序
while ($row_MenuItem = $MenuItems->fetch_assoc())
{
if ("{$row_MenuItem['menu_par']}" == '1') echo
"<a href=\"?page={$row_MenuItem['id']}\">{$row_MenuItem['title']}</a><br/>";
}
while($row\u MenuItem=$MenuItems->fetch\u assoc())
{
如果(“{$row\u MenuItem['menu\u par']}”=='1')回音
“
”;
}
我希望你们能帮助我:)首先,我没有阅读整个问题,而是加载所有数据,然后将其排序到PHP中似乎不是一个好主意。 DBMS就是为此而设计的,由于您对检索数据的查询,您应该通过这样做直接对它们进行排序
SELECT pageid,title,menu_par FROM v2 order by menu_par
首先,我没有阅读整个问题,而是加载所有数据,然后将其排序到PHP中似乎不是一个好主意。 DBMS就是为此而设计的,由于您对检索数据的查询,您应该通过这样做直接对它们进行排序
SELECT pageid,title,menu_par FROM v2 order by menu_par
为什么不在SQL查询中使用
orderby
SELECT pageid,title,menu_par FROM v2 ORDER BY menu_par ASC
通过此查询(以及ORDERBY x ASC子句),记录按菜单按面值升序排列
您可以在此处阅读更多关于此的信息:
如果您想根据菜单\u par
值过滤结果(例如,您只想选择那些具有菜单\u par==1
的链接),您可以使用WHERE
子句:
SELECT pageid,title,menu_par FROM v2 WHERE menu_par = 1
为什么不在SQL查询中使用
orderby
SELECT pageid,title,menu_par FROM v2 ORDER BY menu_par ASC
通过此查询(以及ORDERBY x ASC子句),记录按菜单按面值升序排列
您可以在此处阅读更多关于此的信息:
如果您想根据菜单\u par
值过滤结果(例如,您只想选择那些具有菜单\u par==1
的链接),您可以使用WHERE
子句:
SELECT pageid,title,menu_par FROM v2 WHERE menu_par = 1
您应该在数据库中使用
WHERE
子句执行此操作
SELECT pageid,title,menu_par FROM v2
WHERE menu_par = 1
您应该在数据库中使用
WHERE
子句执行此操作
SELECT pageid,title,menu_par FROM v2
WHERE menu_par = 1
你能选择。。。按菜单订购?您可以选择。。。按菜单点菜?你确定吗?使用
对数据排序WHERE
?查看他提供的代码示例,我认为他排序的真正含义是过滤。他已经有了Order by的答案,所以我胡乱猜了一下。啊,我明白了。。。也许他说的是订购,但想过滤。。。我们将看看他说了些什么:-)我想过滤器听起来更像我在寻找的东西-你建议我对每个菜单进行查询/选择吗?如果你有合理数量的菜单,那么是的。如果您想要更灵活的东西(比如,如果您想根据用户的输入过滤记录),那么就不需要了。所以这取决于您的需求。我建议您多读一些关于SQL的内容,以及如何使用PHP在页面上反映SQL的内容。也许是个好的开始,你确定吗?使用对数据排序WHERE
?查看他提供的代码示例,我认为他排序的真正含义是过滤。他已经有了Order by的答案,所以我胡乱猜了一下。啊,我明白了。。。也许他说的是订购,但想过滤。。。我们将看看他说了些什么:-)我想过滤器听起来更像我在寻找的东西-你建议我对每个菜单进行查询/选择吗?如果你有合理数量的菜单,那么是的。如果您想要更灵活的东西(比如,如果您想根据用户的输入过滤记录),那么就不需要了。所以这取决于您的需求。我建议您多读一些关于SQL的内容,以及如何使用PHP在页面上反映SQL的内容。这可能是一个很好的开始。谢谢你的快速回答-但是我该如何排序,以便所有menu_par=1的行都进入页面上的menu1代码?您已经对它们进行了排序(按选项排序)。通过获取查询返回的所有行,您将能够从记录中读取菜单项,然后,感谢该值,您可以将其插入页面的任何菜单部分。如果我是个白痴,我很抱歉,但我仍然感到困惑。我已经订购了“按菜单选择”,但假设我想将所有菜单放入页面上的某个