Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сортировка результата поиска

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dropoff
Отправлено: 02 Июня, 2017 - 12:03:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




Всем доброго времени суток.

Задам вопрос тут, так как не уверен точно, в какой теме ему место))

В результате поиска по выражению "Samsung 2330M" в БД получаю массив совпадений по словам

PHP:
скопировать код в буфер обмена
  1. (
  2.     [0] => Array
  3.         (
  4.             [id] => 19
  5.             [name] => Samsung 5578
  6.         )
  7.     [1] => Array
  8.         (
  9.             [id] => 5
  10.             [name] => Samsung I9001 Metallic Black
  11.         )
  12.     [2] => Array
  13.         (
  14.             [id] => 16
  15.             [name] => Samsung NP300E4A-A03 2330M
  16.         )
  17. )


Тут все хорошо, за исключением сортировки.
Как видно искомый товар "Samsung NP300E4A-A03 2330M" самый последний по запросу "Samsung 2330M".

Очевидно, что его нужно подтолкнуть вверх, на первое место.

Поиск в базе идет по обычным LIKE. Выборка по нескольким полям, по этому не смог придумать что ставить на первое место в ORDER BY из полей.
Может есть какие-то решения, чтобы в запросе проверять, что больше совпало из выборки и по ним сортировать?

Либо вариант сортировки массива по большему совпадению слов в name? Но тут придется прогонять массив неизвестно какого объема. Не будет ли долгим весь этот процесс?
 
 Top
andrewkard
Отправлено: 02 Июня, 2017 - 14:38:56
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




ORDER BY id DESC
пробовали?
(Добавление)
А, не факт Улыбка
(Добавление)
https://ru[dot]stackoverflow[dot]com/que[dot][dot][dot]%B0-%D0%B2-mysql
(Добавление)
И вот тут: https://habrahabr[dot]ru/post/114997/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB