2013-08-29 8 views
0

Я пытаюсь сортировать некоторые данные, основанные на четырех возможных значений, эти значения и порядок, я хотел бы их ...значения Сортировка PHP на основе пользовательских критериев

GK, DF, MF, FW

Как изменить текущую функцию сортировки ниже? Я прочитал около 10 различных статей и запросов и косяк это цифра :(

$sort = $_REQUEST['sort']; 
if(!isset($sort)) 
{ 
    $sort = 'pos'; 
} 
+0

Вы должны добавить пример того, какой тип ввода вы ожидаете, и как вы хотите, чтобы он был на выходе. – JimL

+0

Посмотрите функцию PHP '' usort() '. – Spudley

+0

Извините, это в основном страница футболистов, которая тянет свою различную информацию, позицию (поз), имя, цели, помогает и т. Д., В настоящее время она сортируется по положению в алфавитном порядке, но я хочу, чтобы она делала это в определенном порядке. Я полный newb, поэтому, если кто-то может указать мне в правильном направлении относительно того, какие другие фрагменты вам нужны, я могу опубликовать его? документ довольно большой – user2692939

ответ

0

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

$sort = $_REQUEST['sort']; 
$sort = 'GK, DF, MF, FW'; // my assumption 

if(!isset($sort)) 
{ 
    $arr = explode(', ',$sort); 
    $arr2 = array(); 
    if(in_array('GK',$arr)) { $arr2[] = 'GK'; } 
    if(in_array('DF',$arr)) { $arr2[] = 'DF'; } 
    if(in_array('MF',$arr)) { $arr2[] = 'MF'; } 
    if(in_array('FN',$arr)) { $arr2[] = 'FN'; } 
    $sort = implode(', ',$arr2); 
} 

это некрасиво, но это делает работу .. и на 4 возможных значений ..

+0

Извините, это в основном страница футболистов, которые тянут свою различную информацию, позицию (поз), имя, цели, помогает и т. д., он в настоящее время сортируется по положению в алфавитном порядке, но я хочу, чтобы он делал это в этом конкретный порядок. Я полный newb, поэтому, если кто-то может указать мне в правильном направлении относительно того, какие другие фрагменты вам нужны, я могу опубликовать его? документ довольно большой – user2692939

0

Если предположить, что с помощью запроса к базе данных ... вы можете сделать что-то вроде

SELECT * FROM table ORDER BY GK, DF, MF, FW