Търсене на резултати в MySQL

trevata

Registered
Имам проблем със направата на прецизна търсачка на резултати от MySQL база данни. Проблема е във това че имам измислен вариант, но според мен той е доста тромав та ако имате по-добри предложения, моля споделете ги, ще бъда благодарен :)

Та така, имам таблица printers търся съвпадения по реда name. Ако се напише една думичка или повече, но последователни добре. Но да речем че имам HP Color LaserJet CP2025n и потребителят напише hp laserjet 2025. Моята идея е скрипта да търси първо за първата дума, след това да намери съвпадения от намерените резултати за първата дума със втората и така нататък, но ако потребителят напише 9 - 10 думи :D

Та ако има по-добър начин при низ hp laserjet 2025 да извежда:
HP Color LaserJet CP2025n
HP Color LaserJet CP2025dn
HP Color LaserJet CP2025


Дано сте ме разбрали :)
 
Защо не използваш само
Код:
<?php
// тук връзка към бд и друг код
$name = 'hp laserjet 2025';
$sql = mysql_query('SELECT * FROM `printers` WHERE `name` LIKE "%'.$name.'%"');
// и тук обработка на данните
?>
 
Код:
<?php
$search = "hp laserjet 2025"; //тук търсеното :)
$raz = explode(" ", $search); // разделяме го на думи

$where = "`name` LIKE '%".implode("%' AND `name` LIKE '%", $raz)."%'";

$query = mysql_query("SELECT * FROM `printers` WHERE ({$where})");
?>
 

Back
Горе