Php 为什么查询不按降序显示结果?
显示帖子的代码为:Php 为什么查询不按降序显示结果?,php,mysql,Php,Mysql,显示帖子的代码为: for($i=0; $i<$count; $i++) { $result1 = mysqli_query($con1,"SELECT pid_1,title,ts from post2 where pid_1='$pid[$i]' order by pid_1 desc");
for($i=0; $i<$count; $i++)
{
$result1 = mysqli_query($con1,"SELECT pid_1,title,ts from post2
where pid_1='$pid[$i]' order by pid_1 desc");
while($row = mysqli_fetch_array($result1))
{
$t=$row['title'];
$p=$row['pid_1'];
$ts=$row['ts'];
echo $t." ".$p." ".$ts."<br>";
}}
在哪里
计数=员额总数
$pid[$i]=要访问数组$pid中的每个元素$pid数组存储要选择的所有帖子的帖子id
即使包括按pid_1 DESC排序,结果也是随机的。如何解决这个问题?如果您想让它们按顺序排列,您必须对pid数组进行排序,或者您可以在一个查询中获得所有帖子,然后让查询进行排序:
$pids_str = explode("'",$pid);
$result1 = mysqli_query($con1,"SELECT pid_1,title,ts FROM post2 WHERE pid_1 IN ('".$pids_str."') ORDER BY pid_1 DESC");
while($row = mysqli_fetch_array($result1))
{
$t=$row['title'];
$p=$row['pid_1'];
$ts=$row['ts'];
echo $t." ".$p." ".$ts."<br>";
}
因为$pid中的值显然不是按降序排列的。pid_1='$pid[$i]'顺序按pid_1 desc您选择具有一个指定pid的记录,那么它将如何按该顺序排列?您的代码的逻辑是扭曲的,但像现在一样,您必须在$pid数组中sor您的项目。您应该在一个查询中选择所有帖子,然后在phpSo中循环搜索结果,以防我要求它按降序排序,是否还有其他解决方案保留对$pid[$I]的排序?