У меня есть этот запрос, который ищет статьи в БД.Я хотел бы изменить запрос так, чтобы, если ключевое слово было найдено в строке "title
", запрос сначала сортировался по этому - чтобы поместить его в верхнюю часть результатов.
Результаты с ключевым словом в title
должны считаться более важными, чем если бы ключевое слово было в содержании статьи.
Может ли это быть достигнуто в самом запросе, или это так?Требуется какой-то алгоритм?
Вот мой запрос:
if (isset($_POST['search'])) {
$search = filter_var($search, FILTER_SANITIZE_SPECIAL_CHARS);
$sql = "SELECT * FROM mydb WHERE title LIKE :search OR description LIKE :search OR content LIKE :search ORDER BY dates DESC";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':search', '%' . $search . '%', PDO::PARAM_STR);
$stmt->execute();
if ($stmt->rowCount() > 0) {
$result = $stmt->fetchAll();
foreach($result as $row) {
// Loop...
}
}
else {
}
// Closing
$stmt = null;
$pdo = null;
}