- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
function price_filter_form()
{
// Хуярим неиибически сложную систему фильтрации по цене:
$sql = "
SELECT
Max(c_good.price) AS `max`,
Min(c_good.price) AS `min`,
Count(c_good.price) AS `count`
FROM
c_good
WHERE
c_good.podcat_id = '".mysql_real_escape_string($_GET['id'])."' AND
c_good.onoff = '1' AND c_good.`check` = '1'";
$sql = mysql_query($sql) OR DIE (log_error('sql'));
$price = mysql_fetch_assoc($sql);
#echo ("<pre>");
#print_r($price);
#echo ("</pre>");
if ($price['count'] < '10') // если товаров меньше 10, выводим 1 диапазон цен
{
$price_form = "<option value=\"".$price['min'].":".$price['max']."\">".$price['min']."-".$price['max']."руб.</option>";
}
else
{
// Далее идёт непонятный говнокод, который к удивлению работает
$step = (($price['max']-$price['min'])/11);
$step = ceil($step);
$step_len = strlen($step);
$step = round($step, -($step_len-1));
$first_step = ($price['min']+$step);
$first_step_len = strlen($first_step);
$first_step = (round($first_step, -($first_step_len-2))-1);
#if ($first_step < $price['min']) $first_step = $price['min']+$step;
$price_form = "<option value=\"".$price['min'].":".$first_step."\">".$price['min']."-".$first_step."руб.</option>";
$price_form .= "<option value=\"".($first_step+1).":".($first_step+$step)."\">".($first_step+1)."-".($first_step+$step)."руб.</option>";
#echo $step;
for ($i=1;$i<8;$i++)
{
$price_form .= "<option value=\"".($first_step+($step*$i)+1).":".($first_step+($step*($i+1)))."\">
".($first_step+($step*$i)+1)."-".($first_step+($step*($i+1)))."руб.</option>";
}
$price_form .= "<option value=\"".($first_step+($step*8)+1).":".$price['max']."\">
".($first_step+($step*8)+1)."-".$price['max']."руб.</option>";
}
$price_form = str_replace("\"".$defult_price['1']."\"", "\"".$defult_price['1']."\" selected", $price_form);
return $price_form;
}
?>
вот с таким ГК пришлось столкнуться, после профилирования. Как Вам? Или - это нормально для PHP???
P.S. комментарии сохранены авторские.
dobs2005 16.03.2011 03:12 # +2
Lure Of Chaos 16.03.2011 16:55 # +2
Анонимус 17.03.2011 15:19 # 0