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(), чтобы упорядочить ее по этому столбцу.