2011-03-08 61 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