Php 对列表中的数据进行排序

Php 对列表中的数据进行排序,php,mysql,Php,Mysql,我试图对从mysql生成的表中的列数据进行排序。我希望我的桌子是这样的:- <th><a href='view.php?sort=first_name'>First Name</th> <th><a href='view.php?sort=last_name'>Last Name</th> 我知道我的问题出在查询中,但如何更正它?您需要在列名和ORDER BY子句之间留出额外的空间 $result .= " ORDER B

我试图对从mysql生成的表中的列数据进行排序。我希望我的桌子是这样的:-

<th><a href='view.php?sort=first_name'>First Name</th>
<th><a href='view.php?sort=last_name'>Last Name</th>

我知道我的问题出在查询中,但如何更正它?

您需要在列名和
ORDER BY
子句之间留出额外的空间

$result .= " ORDER BY first_name";
            ^ add extra space here

完整片段:

或者为什么不直接这样做

$sortColumn = $_GET['sort'];
$query = "SELECT * FROM users ORDER BY $sortColumn";
$result = mysql_query($query) or die(mysql_error());

ORDER BY关键字前面需要一个空格,并且存在一些不正确的终止。现在就试试。

 $result = "SELECT * FROM users";
    if($_GET['sort'] == 'first_name'){
     $result .= " ORDER BY first_name";
    }
   else if($_GET['sort'] == 'last_name'){
     $result .= " ORDER BY last_name";
    }
$result = mysql_query($result) or die(mysql_error());

此处缺少分号和空格:

$result = mysql_query("SELECT * FROM users ");
                                          ^  ^

分析错误
是由于缺少分号造成的,另一个错误稍后会出现:)

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,.一个像样的IDE和一些基本的调试功能会使代码中的错误变得非常明显。虽然这肯定会解决OP的一个问题,但它不会解决错误:
Parse error:syntax error,C
中意外的“If”(T\u If)
$query=“SELECT*FROM users ORDER BY$sortColumn”是个糟糕的主意。您需要先对数据进行验证和清理。您的答案缺少mysql_query()语句末尾的分号。当然,它不应该在那个时候运行,但这是另一个问题。编辑:修正。
$sortColumn = $_GET['sort'];
$query = "SELECT * FROM users ORDER BY $sortColumn";
$result = mysql_query($query) or die(mysql_error());
 $result = "SELECT * FROM users";
    if($_GET['sort'] == 'first_name'){
     $result .= " ORDER BY first_name";
    }
   else if($_GET['sort'] == 'last_name'){
     $result .= " ORDER BY last_name";
    }
$result = mysql_query($result) or die(mysql_error());
$result = mysql_query("SELECT * FROM users ");
                                          ^  ^