@Hellows

Как вывести записи без повтора?

Доброго времени суток всем! Назрел вопрос:
Есть запрос следующего вида
$stmt = $pdo->query('SELECT price FROM middle_price');
  $price = $stmt->fetchAll();
  return $price;

Как видим, мы выбираем все цены из таблицы. Как сделать, чтобы стоимость до 250 рублей показывалась как "до 250 руб", а не "100, 150, 200 и т.д), а стоимость выше 250 и до 500 руб как "250руб - 500 руб" вместо перечислений цен со столбцов ( 430, 270 и т.д)
Написал в документе для вывода так
<span class="filter_name"><?php 
    if ($price['price'] <= 250) { 
       echo 'до 250'; 
   } else if ($price['price'] >= 250) { 
     echo '250-500';  
   }
?></span>

и выводит мне так - https://i.imgur.com/Y5lzWXf.jpg Еще раз напомню, что должно быть только 2 записи - до 250, 250-500
  • Вопрос задан
  • 275 просмотров
Решения вопроса 1
mahoho
@mahoho
Full stack certified PHP developer.
SELECT
	CASE
		when price < 250 then 'до 250'
		when price  between 250 and 500 then 'от 250 до 500'
	ELSE price	
	END as price
FROM middle_price
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
viphorizon
@viphorizon
else if по моему слитно должно быть, в вашем случае вообще не нужно использовать elseif
<span class="filter_name"><?php 
    if ($price['price'] <= 250) { 
       echo 'до 250'; 
   } 
if ($price['price'] >= 250 and $price['price'] <= 500) { 
     echo '250-500';  
   }
?></span>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект