好的,所以我试图获得一个图像列表随机显示,而不是前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