2011-03-08 151 views
1

。他们,我需要一个帮助,我正在处理一个项目。使用php进行排序,mysql

我有这个数据库,在那里我有一个包含来自不同部门,即学生的记录的表:

Dept1 
Dept2 
Dept3 
Dept4 
Dept5 
我batch.php

我有批两个下拉菜单(也就是表的名称)和部门(用于分类的领域)。

我想要做的是,当用户选择一个批处理和一个部门,然后单击提交按钮时,它会自动将所选的值分配给SELECT方法的MySQL查询。 SELECT查询现在应该从表中检索表中的所有记录,并按部门对其进行排序,但会首先显示上面选择的部门。

。任何帮助将不胜感激。预先感谢,更多的权力!

+2

那么你有什么麻烦?你有尝试过什么吗? – JohnP 2011-03-08 06:33:58

回答

0

您可以按照布尔表达式进行排序,该布尔表达式在true时返回1,在false时返回0。

<?php 
    $batch = mysql_real_escape_string($_POST['batch']); 
    $department = mysql_real_escape_string($_POST['department']); 

    $query = "SELECT * FROM `" . $batch . "`" . 
     " WHERE department = '" . $department . "'" . 
     " ORDER BY department = '" . $department . "' DESC, department; 
?> 

更新:您应该验证$batch说法,这是预期有效的表,因为是代码很容易受到SQL注入。

+0

。对不起,有一个错误,请再次检查我已经编辑过的问题。 – zerey 2011-03-08 07:01:03

+0

。DESC,部门的作用是什么;在你的代码?你的代码又是什么意思,容易受到SQL注入的影响? – zerey 2011-03-08 07:34:46

+0

@zerey'DESC' =降序,我们希望匹配的部门在顶部显示。 http://en.wikipedia.org/wiki/SQL_injection – 2011-03-08 07:48:05