группировать, не показывая все результаты

Итак, у меня есть стол под названием «часы»

тогда у меня есть 3 столбца, как так

id | manufacture | model
1    rolex         2483
2    rolex         3940
3    rolex         4940
4    dent          ee30

но я хочу, чтобы результат был похож

rolex
dent

Но когда я попробую следующее, чтобы выбрать производителей

('SELECT manufacture FROM `watches` GROUP BY manufacture')

в моменты, когда он показывает только «вмятину», когда это должно быть «rolex, вмятина». Как это не работает. я тоже пробовал это, но это дало тот же результат

('SELECT DISTINCT(`manufacture`) FROM `watches`')

полная функция

$query = $this->pdo->prepare('SELECT DISTINCT(`manufacture`) FROM `watches`');$query->execute();

if($query->fetch()){

$row = $query->fetchAll();
foreach($row as $i){
$select .= '<option value="'.$i['manufacture'].'">'.$i['manufacture'].'</option>';
}
return $select;
} else {
return '<option value="0">No watches yet!</option>';
}

1

Решение

Пожалуйста, попробуйте использовать

if ($query->rowCount() > 0) {

вместо

if($query->fetch()){

так как fetch получает результат из заявления, но для этого вы используете fetchAll в последующем коде.

1

Другие решения

Добавить ГДЕ 1

'SELECT `manufacture` FROM `watches`WHERE 1 GROUP BY `manufacture`

Рекомендуется всегда заключать имена таблиц и столбцов в знак ударения.

0

Вам просто нужно заказать при производстве:

SELECT manufacture FROM `watches` GROUP BY manufacture ORDER BY manufacture desc
0
По вопросам рекламы [email protected]