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]的排序?