PHP MYSQL упорядочить результат поиска по количеству слов

Я знаю, как сделать обычный поиск php mysql и отобразить результаты. Тем не менее, из-за характера того, что я пытаюсь достичь, мне нужно иметь возможность подсчитать количество отображаемых миров в столбце и упорядочить результаты по возрастанию. Позвольте мне объяснить это лучше:

например мой запрос: что-нибудь безвредное.

1-й результат:

найти слова: 3
id: 12
ИМЯ: сам [безвредный]
ОПИСАНИЕ: [Все, что происходит. [Все, что происходит], вызывает себя.

2-й результат:

найти слова: 5
id: 55
ИМЯ: область добычи данных
ОПИСАНИЕ: Это извлечение [безвредных] знаний значительных [безвредных] вновь нанятых преподавателей [безвредных] с целью [чего-либо] развития [чего-либо].

3-й результат:

найти слова: 1
id: 9
NAME: программирование php sql
ОПИСАНИЕ: [Anything] члены для выполнения своих задач.

Они будут ранжироваться / отображаться следующим образом:(основано на количестве найденных слов).

найти слова: 5

id: 55
ИМЯ: область добычи данных
ОПИСАНИЕ: Это извлечение [безвредных] знаний значительных [безвредных] вновь нанятых преподавателей [безвредных] с целью [чего-либо] развития [чего-либо].

найти слова: 3

id: 12
ИМЯ: сам [безвредный]
ОПИСАНИЕ: [Все, что происходит. [Все, что происходит], вызывает себя.

найти слова: 1

id: 9
NAME: программирование php sql
ОПИСАНИЕ: [Anything] члены для выполнения своих задач.

Я надеюсь, что я объяснил это достаточно хорошо и пожалуйста. помогите, я правда не знаю что делать. я не хорош в php. Я ценю, если вы можете дать мне код или шаги. спасибо вам большое.

this is my query: (simplified version)
$query = mysql_query("SELECT thesis_id,thesis_name,thesis_abstract 
    FROM thesis
    WHERE enabled = 1 AND
    MATCH(thesis_name,thesis_abstract) AGAINST('$find' IN BOOLEAN MODE)
    OR thesis_name LIKE '%$find%' OR thesis_abstract LIKE '%$find%'
    ")
while($data=mysql_fetch_array($query))
  { 
 echo $data['thesis_id'];
echo $data['thesis_name'];
echo $data['thesis_abstract'];
}

1 ответ

Я думаю, вам нужно будет создать собственную функцию worldcount в orther, чтобы заполнить значения столбца "найденные слова", а затем использовать функцию usort(), чтобы упорядочить ее по этому столбцу.

Другие вопросы по тегам