1
任何想法都可以創建一個函數,它將以起始價格和最終價格返回數組中的5個範圍。該功能需要爲類別或品牌或使用的任何過濾器創建這些範圍。許多電子商務網站已經在使用價格範圍過濾器。現在我可以創建這樣的功能。但在這裏我必須添加步驟範圍。有沒有辦法可以根據該類別的整體價格範圍自動進行這些步驟。爲PHP電子商務網站創建價格範圍功能的想法
function price_range($category_id=0, $step=199)
{
$output = '';
$return = array();
$query = "SELECT * FROM products WHERE category = ".$category_id;
$query .= " ORDER BY PRICE";
$result = mysql_query($query);
if (!$result)
{
return FALSE;
}
else
{
if((mysql_num_rows($result) == 0))
{
return FALSE;
}
else
{
while ($row = mysql_fetch_array($result))
{
$prices = array($row['price']);
}
$ranges = array();
foreach($prices as $p)
{
$index = floor($p/$step);
if(isset($ranges[$index]))
$ranges[$index]++;
else
$ranges[$index] = 1;
}
for($i = 0; $i <= max(array_keys($ranges)); $i++)
{
//$output = "(<a href=\"?start=" . ($step * $i) . "&end=" . ($step * ($i + 1)) . "\">" . ($step * ($i + 1)) . " - " . ($step * $i) . "(" . $ranges[$i] . ")<br>";
$return[$i]['start'] = ($step * $i);
$return[$i]['end'] = ($step * ($i + 1));
$return[$i]['product_count'] = $ranges[$i];
}
}
}
return $return;
}
我即將去睡覺,所以我不能創建一個完整的答案。但是,您是否已經想到了像第一次運行查詢來查找「MIN」和「MAX」價格的事情。然後'(maxprice - minprice)/ 5'找到創建數組的範圍? – arnoudhgz 2012-08-16 22:43:15