|
|
|
| помогите люди добрые.
делаю видео-портал. и вывод у меня следующим образом. есть алфавит анг и русский.
соответственно при клике на букву выводятся все фильмы начинающиеся с это буквы.
запрос такого вида
select * from movies where name like '".$search."%';
но например когда я нажминаю на русскай алфивит то при поиске по букве Т, те же результат выдает поиск по букве Х или Ф или У
А по буквам Б В Г вообще всплывают фильмы начинающиеся с буквы А английской.
как поправить ситуацию? | |
|
|
|
|
|
|
|
для: Равечка
(13.08.2006 в 17:24)
| | нуже? ((( помогите мне =( | |
|
|
|
|
|
|
|
|
для: Loki
(13.08.2006 в 19:23)
| | не получается....
т.е. запрос у меня
$act=$_GET['act'];
select * from films where MID(name,1,1) = '".$act."';
ccылка
для англ.
echo "<a href='index.php?act=".$eng[$i].">".$eng[$i]."</a>";
для русских
echo "<a href='index.php?act=".rawurlencode($rus[$i]).">".$rus[$i]."</a>";
выдает то же самое что и было. | |
|
|
|
|
|
|
|
для: Равечка
(13.08.2006 в 19:53)
| | Обновила mysql до 4.1 как написано в топике по приведенным ссылкам.
ситуация не поправилась... | |
|
|
|
|
|
|
|
для: Равечка
(13.08.2006 в 20:19)
| | cheops подскажи? :( | |
|
|
|
|
|
|
|
для: Равечка
(13.08.2006 в 17:24)
| | Можно попробовать после соединения с MySQL и выбора БД вписать в скрипт вот такую штуку:
<?
mysql_query("SET collation_connection=cp1251_general_ci");
mysql_query("SET character_set_results=cp1251");
mysql_query("SET character_set_client=cp1251");
mysql_query("SET collation_database=cp1251_general_ci");
?>
|
То есть, произвести конвертацию данных в cp1251. Возможно, на сервере установлена другая кодировка базы.
Можете привести экспорт БД (можно не со всеми данными) и ту часть скрипта, которая отвечает за поиск? | |
|
|
|
|
|
|
|
для: aexb
(13.08.2006 в 19:17)
| | Также можно в таблицу бд где храняться названия добавить поле языка фильма, например
lang ENUM('ru', 'en') NOT NULL DEFAULT 'ru'
|
а потом поисковый запрос примерно такого вида
<?php
select * from movies where name like '".$search."%' AND lang='".$_POST['lang']."' order by name
?>
|
| |
|
|
|
|
|
|
|
для: Равечка
(13.08.2006 в 17:24)
| | Версия MySQL какая? | |
|
|
|
|
|
|
|
для: cheops
(14.08.2006 в 01:04)
| | 4.1.10
проблему уже решила.... я сделала дополнительную колонку куда записываю при добавлении аски номер первой строчной буквы... а потом собственно поиск организовываю по айди.
Кому интересно - при добавлении функция примерно так будет выглядеть
$text = ord(strtolower(substr(trim($text), 0, 1)));
|
а при поиске просто сверяем ord('f') с полем в таблице... | |
|
|
|