Подобряване на търсачка

Hous

Registered
Понеже ползвам един малко първобитен код за търсачка която изисква да се въведе думата точно както е записа в дб-то пример:
АсД ако потърся асд или АСД и не дава резултат. Та искам ако може да помогнете със нагледен код (редактиран моя ако може) да кажете как да я подобря.

Код:
$keyword = $_POST['searchFor'];
	if($sql -> db_Select("TABLE","*","WHERE POLE1 LIKE '%$keyword%' OR POLE2 LIKE '%$keyword%' OR POLE3 LIKE '%$keyword%' ORDER BY POLE1","nowhere",$debug=FALSE)){
	  while($row = $sql -> db_Fetch()) {
	    extract($row);
		$text .= "<a href="#">LINK kam rezultata</a> <br>";
	  }
 
lub4o каза:
Ами виж това

http://web-tourist.net/login/login/view.php?st=1096 Виждам, че е добре обяснено.
Ами хубаво е там но 90% същия код и въпроса е ,че разликата е че смалява всяка заявка СоФия става софия ами ако записът е СОФИЯ пак ще е проблем , идеята ми е ако може да направим ака че дори да напиша СофиЯ а записът е София да не е проблем а там просто прави думата с малки букви ,а ако в дб-то започва с голяма буква пак няма да даде резултат.
:lol:
 
Код:
$keyword = $_POST['searchFor'];
$keyword = strtolower($keyword);
	if($sql -> db_Select("TABLE","*","WHERE lower(POLE1) LIKE '%$keyword%' OR lower(POLE2) LIKE '%$keyword%' OR lower(POLE3) LIKE '%$keyword%' ORDER BY POLE1","nowhere",$debug=FALSE)){
	  while($row = $sql -> db_Fetch()) {
	    extract($row);
		$text .= "<a href="#">LINK kam rezultata</a> <br>";
	  }
 
... Просто си добавил това за малките букви но не виждам смисал ако самия запис започва с голяма буква то lower ще направи всяка дума въведена за търсене с малки букви и няма да искара резултат...

също така още един проблем който открих е примерно записа е:
time is money
и напиша time money не дава резултат :shock:
 
Ако се налага да сравните два стринга за съвпадение ползвате:
strcmp($string1, $string2);
Тази функция различава главни от малки букви, т.е. "Да" е различно от "да". Ако искате това да не е така ползвайте strcasecmp(), която е със същия синтаксис.
 

Back
Горе