这个问题与我提出的其他排序问题略有不同。
排序从DESC
开始。您可以点击标题,它将更改为ASC
,但当您再次点击该链接时,它不会更改回DESC
。
以下是排序代码:
<?php
if (isset($_GET['o'])) {
$o = $_GET['o'];
if (escape_data($o)) {
$sort_order = $o;
$d = $_GET['d'];
if ($d == "DESC") {
$sort_order .= " DESC";
}
else {
$sort_order .= " ASC";
}
}
else{
$sort_order = $init_sort_order . " " . $asc_or_desc;
$sort_error = TRUE;
}
else{
$sort_order = $init_sort_order . " " . $asc_or_desc;
}
?>
变量$o
是名称标题(这是一个链接),$ d似乎是DESC
或ASC
。 $d
和$o
看似合并,因此当它进入查询时,查询将如下所示回显:
$query = "SELECT $db_return, MATCH($db_query) AGAINST ('$trimmed' IN BOOLEAN MODE) AS relevance FROM $db_table WHERE delete_flag = 'N' and MATCH($db_query) AGAINST ('$trimmed' IN BOOLEAN MODE)
ORDER BY $sort_order";
注意$sort_order
,现在包含标题以及DESC
或ASC
。
在另一个名为CONFIG.PHP
的文件中,我发现这些变量与排序功能相关联:
<?php
$init_sort_order = "relevance";
$asc_or_desc = "DESC";
?>
这让我整天感到沮丧。我现在真的很想弄明白这一点。
请帮忙。
答案 0 :(得分:-1)
如果您需要ASC或DESC,为什么要附加$ sort_order?
$ sort_order。=“ASC”;应该是$ asc_or_desc =“ASC”;
<?php
if (isset($_GET['o'])) {
$o = $_GET['o'];
if (escape_data($o)) {
$sort_order = $o;
$d = $_GET['d'];
if ($d == "DESC") {
//$sort_order .= " DESC";
$asc_or_desc = " DESC";
}
else {
//$sort_order .= " ASC";
$asc_or_desc = " ASC";
}
}
else{
$sort_order = $init_sort_order . " " . $asc_or_desc;
$sort_error = TRUE;
}
else{
$sort_order = $init_sort_order . " " . $asc_or_desc;
}
?>