2013-11-27 4 views
0

поэтому у меня есть этот запрос:заказе накидной запрос, первый запрос будет показан первый затем остальные алфавитный

$sql = "SELECT name FROM table1 WHERE name LIKE '%$search%'". 
     "UNION ". 
     "SELECT name FROM table1 WHERE name LIKE '%".$pieces[0]." ".$pieces[1]."%'". 
     "UNION ". 
     "SELECT name FROM table1 WHERE name LIKE '%".$pieces[0]." ".$pieces[2]."%' ORDER BY name"; 

и я хочу результаты 1-го запрос, чтобы быть первым в списке, а затем остальное будет алфавитный. Как я могу это достичь?

ответ

0

Помимо очевидной инъекции SQL комментариев

$sql = "Select 1 as x, name from table1 where name like '%$search$' ". 
     "UNION " 
     "SELECT 2 as x, name FROM table1 WHERE name LIKE '%".$pieces[0]." ".$pieces[1]."%' ". 
    "UNION ". 
    "SELECT 2 as x, name FROM table1 WHERE name LIKE '%".$pieces[0]." ".$pieces[2]."%' ". 
    " ORDER BY x, name"; 

Это закажет первый запрос первой затем следующие 2 комбинированный по алфавиту

, если вы хотите, чтобы все три, чтобы изменить 2 до 3 в третьем запросе ,

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