PHP搜索查询结果顺序不起作用

PHP搜索查询结果顺序不起作用,php,search,sql-order-by,Php,Search,Sql Order By,我有这个代码来搜索数据库。它现在工作得很好,但我想改变它的显示顺序。下面是我的代码 if (isset($_GET["mainSearch"])) { $condition = ''; $query = explode(" ", $_GET["mainSearch"]); foreach ($query as $text) { $condition .= "question LIKE '%".SQLite3::escapeString($text)."%' OR

我有这个代码来搜索数据库。它现在工作得很好,但我想改变它的显示顺序。下面是我的代码

if (isset($_GET["mainSearch"])) 
{
  $condition = '';
  $query = explode(" ", $_GET["mainSearch"]);

  foreach ($query as $text) 
  {
      $condition .= "question LIKE '%".SQLite3::escapeString($text)."%' OR ";
  }
  $condition = substr($condition, 0, -4);


  $order = "ORDER BY quiz_id DESC";
  $sql_query = "SELECT * FROM questions WHERE " . $condition;
  $sql_query_count = "SELECT COUNT(*) as count FROM questions WHERE " . $condition . $order;
  $result = $db->query($sql_query);
  $resultCount = $db->querySingle($sql_query_count);

  if ($resultCount > 0)
  {
  if ($result)
  {
      while ($row = $result->fetchArray(SQLITE3_ASSOC))
      {
           echo '<div class="quesbox_3">
            <div class="questitle">
                <h2>'.$row["question"].'</h2>
            </div>
            <div class="quesanswer">'.$row["answer"].'</div>
        </div>';
      }
  }
  }
  else
  {
      echo "No results found";
  }
}
if(isset($\u GET[“mainSearch”]))
{
$condition='';
$query=explode(“,$\u GET[“mainSearch”]);
foreach($queryas$text)
{
$condition.=“类似“%”的问题。SQLite3::escapeString($text)。“%”或“;
}
$condition=substr($condition,0,-4);
$order=“按测验排序\u id DESC”;
$sql\u query=“从“.$condition”所在的问题中选择*;
$sql\u query\u count=“选择count(*)作为问题中的计数,“$condition.$order;
$result=$db->query($sql\u query);
$resultCount=$db->querySingle($sql\u query\u count);
如果($resultCount>0)
{
如果($结果)
{
而($row=$result->fetchArray(SQLITE3_ASSOC))
{
回声'
“.$row[“问题”]”
“.$row[“应答”]”
';
}
}
}
其他的
{
回显“未找到结果”;
}
}

我希望结果显示的顺序是从下到上。由于当前代码不起作用,请说明如何正确添加此字符串。

在此字符串中留出1个空格

$order = " ORDER BY quiz_id DESC ";
它不会显示给您,因为如果您回显您的查询,它将显示如下

SELECT COUNT(*) as count FROM questions WHERE question LIKE '%test%'ORDER BY quiz_id DESC
您可以在这个echo查询中看到,
ORDER和%test%

这样做会对你有帮助的

查询空间问题。你能试试这个查询吗


在count()查询中输入order by,实际上没有什么作用

$sql_query = "SELECT * FROM questions WHERE " . $condition;
  $sql_query_count = "SELECT COUNT(*) as count FROM questions WHERE " . $condition . $order;
试一试


您的
$order
仅在计数查询中。添加到您的
$sql\u查询中

$sql_query = "SELECT * FROM questions WHERE " . $condition . ' '. $order;

您遇到了什么问题?@urfusion它只是没有重新排序。@AlivetoDie对自己感到惊讶,因为错误报告在
echo
您的查询上,并在
phpmyadmin
中运行它。看看你得到的是对还是错你对空间的看法是对的,但是搜索结果仍然没有重新排序。甚至当我在$order中添加一个限制1时,它也不会限制结果。如果你能添加一些关于你所做的更改以及为什么它会有帮助的评论,那么你的答案会更有用。
$sql_query = "SELECT * FROM questions WHERE " . $condition. ' '. $order;
  $sql_query_count = "SELECT COUNT(*) as count FROM questions WHERE " . $condition ;
$sql_query = "SELECT * FROM questions WHERE " . $condition . ' '. $order;