2013-06-30 60 views
-1

只是recenlty轉換,我有點困惑與ORDER BYPHP PDO訂購Fiedname通過<code>PHP PDO Query</code>值

我有2個字段名和值,我想ORDER BY,這是我的舊數據,我需要轉換爲PDO

問:我如何使用ORDER BY在PDO

$results = mysqli_query($con,"SELECT * FROM `supplies` ORDER BY field(citname,'Dejan Vemic','MitkoEzio','Sebatay','Ash2Ash','Dexter Sinister','dracoolinho','KALE Podgorica','Omerta NK','Pobor','Rachsuchtig','Snake0307','SrpskaCG','Vojvoda1389') ASC, field(day,'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')"); 

,如果有人誰請幫助,這是我當前語句

$sql = 'SELECT citid, citname, worked, rankpoints, supplyamount, wassupplied, date, day FROM supplies'; 
+3

PDO只是數據庫服務器的接口。除非您使用準備好的語句,否則查詢不會更改。爲什麼你不能使用你的原始查詢? – 2013-06-30 20:08:26

+1

提示 - PHP字符串可以跨越多行,使代碼更具可讀性。 – goat

+0

我想離開mysqli,並使用PDO,我已經嘗試使用ORDER BY作爲PDO中的mysqli,它不工作,與PDO,我知道它的約束或什麼 – user2517479

回答

1

由於您不是約束變量,因此您可以使用query() 請注意,ASC是默認值,不是必需的。

$sql ="SELECT * FROM `supplies` ORDER BY field(citname,'Dejan Vemic','MitkoEzio', 
'Sebatay','Ash2Ash','Dexter Sinister','dracoolinho','KALE Podgorica','Omerta NK', 
'Pobor','Rachsuchtig','Snake0307','SrpskaCG','Vojvoda1389'), 
field(day,'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday', 
'Saturday')": 

foreach ($conn->query($sql) as $row) { 
    print $row['citid'] . "\t"; 
    print $row['citname'] . "\t"; 
    //ETC 
} 
+0

我需要按自己的順序按字段內的字段值進行排序,所以它的工作方式相同?因爲我想在PHP PDO字段(citname,'value 1','value'),field(day,'Sunday','Monday','Tuesday')「);' – user2517479

+0

@ user2517479更改答案以解決評論如果你想要解除的問題舉行,我建議你編輯它我編寫的編輯可能會幫助 –

+0

我會測試這個,看看它是否適用於我 – user2517479