ajax търсене

obqvi_in

Registered
[js]$(document).ready(function(){
$(".search").keyup(function()
{
var searchbox = $(this).val().toLowerCase();
var dataString = 'searchword='+ searchbox;
var datas = dataString.toLowerCase();
if(searchbox=='')
{}
else
{
$.ajax({
type: "POST",
url: "search.php",
data: datas,
cache: false,
success: function(html)
{
$("#display").html(html).show();
}
});
}return false;
});
});[/js]
С този скрипт ползвам така наречения "live search", който е търсене в база данни. Когато търся и има намерени резултати с "css" си оцветявам словосъчетанията от намерените резултати, обаче само тези които са с малки букви. Намира и тези които започват с голяма буква, но не ги оцветява. Как да маркирам и думите с големи букви.
 
Бръкни в search.php и на мястото, където правиш оцветяването го направи case-insensitive. По-конкретно - провери за метода, който ползваш, как се прави case-insensitive. Примерно с регулярен израз ще сложиш /i в края. Ако ползваш str_replace ще стане str_ireplace. Просто виж в твоя случай как ще се замести.
 
PHP:
$q=mysql_real_escape_string($_POST['searchword']);
$sql_res=mysql_query("select * from note where (text like '%$q%' or data like '%$q%') OR (CONCAT(text,' ',data) like '%$q%')");
$nom_search = mysql_num_rows($sql_res);
echo "<div><span class='resl_show'>"; echo $nom_search; echo "</span>  ". "&nbsp &nbsp</div>";
while($row=mysql_fetch_array($sql_res))
{
$text=$row['text'];
$data=$row['data'];
$re_text='<span class="bold_text">'.$q.'</span>';
$re_data='<span class="bold_data">'.$q.'</span>';
$final_text = str_ireplace($q, $re_text, $text);
$final_data = str_ireplace($q, $re_text, $data);
Това е search.php и само думите написани на кирилица не стилизира.
 

Back
Горе