Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 循环SQL行并对其排序_Php_Javascript_Sql_Loops - Fatal编程技术网

Php 循环SQL行并对其排序

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

正如答案中指出的那样,我不是想整理结果,而是想过滤它们。我很抱歉搞混了!:D

我已经尽了最大努力用谷歌搜索出解决这个问题的方法,但我很难找到解决办法

我有一个具有这种结构的SQL数据库,因为我正在尝试制作一个基本的CMS:

页面ID |标题|页面文本|菜单|第 我想做的是在页面上做一个导航,循环所有行,使它们看起来像链接,几个月前我的老师曾帮助我:

$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代码?您已经对它们进行了排序(按选项排序)。通过获取查询返回的所有行,您将能够从记录中读取菜单项,然后,感谢该值,您可以将其插入页面的任何菜单部分。如果我是个白痴,我很抱歉,但我仍然感到困惑。我已经订购了“按菜单选择”,但假设我想将所有菜单放入页面上的某个
  • 列表中-我将使用什么样的循环,如何确保它只发布正确的菜单?您应该通过将元素添加到while循环中来创建您的列表。while将获取(查看)所有记录,然后您应该(即通过将其插入变量)检查该记录的id是否已更改。如果是,则应停止追加或将其追加到其他列表中。但是,我不能帮你更多,因为我现在不能写整个代码…我不想让你写整个代码,我真的很感谢你解释:)谢谢你的快速回答-但是我该如何排序,这样所有的menu\u par=1的行都会进入页面上的menu1代码?你已经对它们进行了排序(按选项排序)。通过获取查询返回的所有行,您将能够从记录中读取菜单项,然后,感谢该值,您可以插入