Всем привет.
Я нашел скрипт осуществляющий поиск по базе данных по алфавиту, но он работает только с латинскими буквами.
Вот пример работы скрипта: Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
Вопрос: Как переделать этот скрипт для кирилицы?
Вот код:
PHP
<?php
include 'DB.test.php'; // Your DB-credentials
$db = new mysqli("$db_host","$db_user","$db_password","$db_name");
if(mysqli_connect_error()) {
printf("Connection failed:%s",mysqli_connect_error()) ;
exit() ;
}
/*
Get the letter user clicked on and assign it a variable
Always sanitize user's submited input !!!!!!!
*/
$sort = isset($_GET['firstLetter']) ? filter_input(INPUT_GET, 'firstLetter',FILTER_SANITIZE_URL) : "" ;
if($sort == "") {
$sql = "SELECT * FROM World_country ORDER BY Name ASC " ;
}else{
$sql = "SELECT * FROM World_country WHERE Name LIKE '$sort%' ORDER BY Name ASC" ;
}
$execute = $db->query("$sql");
for ($i = 65; $i < 91; $i++) {
printf('<a href="%s?firstLetter=%s">%s</a> | ', $_SERVER['PHP_SELF'] , chr($i), chr($i));
}
printf('<a href="%s">ALL</a> | ', $_SERVER['PHP_SELF'] );
echo "<br>" ;
$rowcount = $execute->num_rows ;
echo "<b style='color:red'>Results found --> $rowcount</b>" ;
echo "<table id=\"thetable\" cellspacing=\"0\" width=\"520\">";
echo "<tr> <th>Name</th> <th>Code</th> </tr>";
$c = 1;
if ($rowcount > 0 ) {
$row = $db->query($sql) ;
while ($row = $execute->fetch_assoc()) {
// printf ("%s (%s)\n", $row["Name"], $row["Code"]);
//echo "<br>";
$color = ($c++%2==1) ? 'bgcolor=#F7D684': 'bgcolor=#ddd' ;
echo "<tr $color><td WIDTH='350'>";
echo $row['Name'];
echo "</td><td WIDTH='50'>";
echo $row['Code'] ;
echo "</td></tr>";
}
}
echo "</table>";
?>
Показать весь код
Я пробывал менять значения 65 и 91 на 192 и выше. Буквы русский отображатются, но сам поиск не работает.
Спасибо зарание.