2015-01-17 4 views
1

Так я есть таблица под названием «Часы»группа, не показывая все результаты

тогда у меня есть 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') 

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

('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>'; 
     } 
+0

Возможно, вы только читаете первый результат. –

+0

iv добавлена ​​полная функция, я не думаю, что я читаю только один –

ответ

1

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

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

вместо

if($query->fetch()){ 

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

+0

Спасибо, плохо используйте это сейчас –

+0

Нет проблем. Я рад, может помочь. –

0

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

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

Это хорошая практика, чтобы всегда заключите имена таблиц и столбцов с знак акцента.

+0

все тот же, –

+0

спасибо, я получил его тоже. По какой-то причине использование цикла foreach в классе просто не работает, вместо этого я возвращаю fetchAll() и сделал цикл foreach на странице, и он работал –

0

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

SELECT manufacture FROM `watches` GROUP BY manufacture ORDER BY manufacture desc 
Смежные вопросы