2016-12-17 3 views
1

Я получил этот код и нужно сортировать вывод по имени:PHP запросов и ORDER BY

$output = array(); 
while($res = mysql_fetch_assoc($res_handle)) 
{ 
    $output[$res['_name']][] = $res['modell']; 
} 

Может кто-нибудь мне помочь? Благодарю.

+2

WNY вы не ставить 'ORDER BY _name' в SQL? – Barmar

+0

Использование 'ORDER BY' в MySQL, вероятно, предпочтительнее для сортировки в вашем PHP-коде. –

+0

Используйте 'asort' sort в PHP. –

ответ

0

Просто вы можете использовать ORDER BY в Query

SELECT * FROM table_name ORDER BY column_name; 

ИЛИ

asort Использование в PHP массива

asort($output[$res['_name']]); 

Пример

<?php 
$name_array = array("0"=>"cc", "1"=>"aa", "Joe"=>"bb"); 
asort($name_array); 
print_r($name_array); 
?> 

Результат

Array ([1] => aa [Joe] => bb [0] => cc) 

См http://www.w3schools.com/php/php_arrays_sort.asp

0

пожалуйста, вы можете попробовать и дайте мне знать, если это помогает

ksort($output); 
0

лучший способ это использование сортировки в запросе, например:

SELECT _name, modell FROM table_name ORDER BY _name ASC, modell ASC 

Все это от A до Z. Если вам нужны результаты для сортировки от Z до A, используйте DESC.

Чтобы отсортировать результаты в области может быть использован, например:

asort($output); 

Обзора таблице как полая сортировки: http://php.net/manual/en/array.sorting.php

+1

Ответы только на ссылки не считаются подходящими. Скопируйте соответствующую информацию в свой ответ и используйте ссылку для поддержки деталей. – Barmar

0

Вы можете сортировать таблицу, используя несколько функций, которые php provide или можете изменить ваш запрос sql. Добавьте ORDER BY name

0

Используйте имя ORDER BY в выбранном запросе следующим образом:

SELECT * FROM Table_Name ORDER BY name 

Спасибо ...

Смежные вопросы