2011-03-25 61 views
0

我試圖按字母順序組織從數組填充的選項列表;問題是數組數組在前端包含html標籤,因此對它進行排序似乎是不可能的。我已經嘗試從數組變量被拉的mysql查詢'ORDER BY',但命令會丟失。如何組織一個數組,該數組是一個包含從mysql表中提取的變量的html行?

整個系統似乎很難通過mysql表中的鍵列對列表進行排序,這是無法接受的。有沒有解決這個問題的方法?任何幫助將非常感謝!

這裏是什麼,我試圖做一個例子:

$options = array(); 
$query1=mysql_query("Select * From table1 Where name='blah'"); 
while($queryvalue1=mysql_fetch_array($query1)) { 
$array1 = $queryvalue1['Column1']; 
$query2=mysql_query("Select * From table2 Where id In ($array1) Order by value DESC"); 
while($queryvalue2=mysql_fetch_array($query2)) { 
    $var1 = $queryvalue2['Column2']; 
    $var2 = $queryvalue2['Column3']; 
    $options[] = "<option value='$var'>$var2</option>" 
    } 
} 
$options = implode(PHP_EOL, $options); 

回答

0

有一定的方法來做到這一點,但他們都是不是讓數據庫排序爲您慢得多。

它可能不是最簡單的解決方案,但我建議擺脫HTML標記並重新填充數據庫,即使您在修復其餘代碼時必須使用臨時表。這樣做是正確的,因此您不必爲應用程序生命週期的其餘部分繼續解決嚴重問題。

+0

感謝您的回覆,但我對此不甚瞭解。爲什麼我需要修改我的數據庫?要將我想要組織的列分配爲新的密鑰列?否則,我只是看不到我如何修改我的數據庫來解決這個問題。此外,如果你不介意給我一個方法的例子,我可以做我想做的事情,無需改變我的數據庫,這將是偉大的,如果沒有其他理由,而不是學習一點點。再次感謝! – Oldtimer 2011-03-25 02:18:39

+0

我的意思是,從數據庫中的值(在本例中爲「Column3」)中刪除HTML,並隨時在代碼中隨時將其添加回來。 – SilverbackNet 2011-03-25 03:05:37

+0

好的,我不認爲我解釋得很好(我害怕那樣)。在我的數據庫中沒有html,html嵌入到數組中,以我想要的方式從數據庫格式化變量。 $ var1和$ var2是值,數組結構爲$ array =「

相關問題