2012-02-29 75 views
0

我有兩個MYSQL查詢如下按字母順序結果:顯示Mysql的從兩個查詢

$anchors = mysql_query("SELECT * FROM anchors WHERE site_url = '$site_current' AND site_type = 'slave' LIMIT $links_nr"); 

//第二查詢的偏移= $ links_nr

$anchors2 = mysql_query("SELECT * FROM `anchors` WHERE `site_url` = '$site_current' AND `site_type` = 'slave' LIMIT $links_nr,99999"); 

我想顯示的結果按字母順序排列,你如何建議我這樣做?

謝謝

回答

0

使用ORDER BY site_url ASC在您的SQL查詢排序結果集

$anchors2 = mysql_query("SELECT * FROM anchors WHERE site_url = '$site_current' AND site_type = 'slave' LIMIT $links_nr,99999 ORDER BY site_url ASC"); 
0

你有沒有考慮節約和cocatenating結果作爲一個多維數組,然後使用uasort()來按字母順序重新排列數組?過去我已經使用了這種方法,並使用了合併的數據集,並且它工作得很好。下面是uasort()函數,如果你有興趣進一步研究的鏈接:

http://www.php.net/manual/en/function.uasort.php

(這與usort之間的不同之處在於usort不維護索引 - 這可能會損害到您的項目:

<?php 
// Comparison function 
function cmp($a, $b) { 
    if ($a == $b) { 
    return 0; 
} 
return ($a < $b) ? -1 : 1; 
} 

// Array to be sorted 
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); 
print_r($array); 

// Sort and print the resulting array 
uasort($array, 'cmp'); 
print_r($array); 
?> 

上例將輸出:

Array 
(
[a] => 4 
[b] => 8 
[c] => -1 
[d] => -9 
[e] => 2 
[f] => 5 
[g] => 3 
[h] => -4 
) 
Array 
(
[d] => -9 
[h] => -4 
[c] => -1 
[e] => 2 
[g] => 3 
[a] => 4 
[f] => 5 
[b] => 8 
)