好的,所以我試圖獲得一個圖像列表隨機顯示,而不是前6或最後6.這兩個工作正常,如果顯示它在ASC或DESC,但是,作爲一旦我添加蘭德,什麼也沒有顯示,它只是認爲沒有圖像,並顯示「無圖像」。我嘗試過移動RAND並嘗試用RAND替換DESC等,但是整個網站要麼加載空白,要麼只是認爲沒有內容可以顯示..任何人都可以指出我要去哪裏錯誤? ?由蘭德命令,不返回數據
這裏是有問題的代碼,讓我知道,如果你想看到更多的代碼..
/**
* Return manufacturers
*
* @param boolean $get_nb_products [optional] return products numbers for each
* @return array Manufacturers
*/
public static function getManufacturers($get_nb_products = false, $id_lang = 0,
$active = true, $p = false,
$n = false, $all_group = false)
{
if (!$id_lang)
$id_lang = (int)Configuration::get('PS_LANG_DEFAULT');
$sql = 'SELECT m.*, ml.`description`, ml.`short_description`
FROM `'._DB_PREFIX_.'manufacturer` m
LEFT JOIN `'._DB_PREFIX_.'manufacturer_lang` ml ON (
m.`id_manufacturer` = ml.`id_manufacturer`
AND ml.`id_lang` = '.(int)$id_lang.'
)
'.Shop::addSqlAssociation('manufacturer', 'm');
if ($active)
$sql .= '
WHERE m.`active` = 1';
$sql .= '
GROUP BY m.id_manufacturer
ORDER BY m.`name` DESC'.
($p ? ' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n : '');
我已經改變了下面的代碼;
ORDER BY m.`name` DESC'.
以下之一,其中沒有一個已經工作;
ORDER BY m.`name` RAND'.
ORDER BY RAND m.`name` DESC'.
ORDER BY m.`name` RAND()
最有可能的是,您的SQL語法錯誤。請編輯您的問題,在所有變量替換和操作之後包含'$ sql'的值。 –
無論如何,你可能並不是真的想用rand()命令,對於有大量行的表來說,這是一個性能殺手。 – GordonM