Вы не зашли.
Главная » PHP » Выборка без учета регистра
#1. TLENS Off (14)
Moderator
2011.05.10 06:06
Вот зделал функцию для выборки хотел еще зделать простенький поиск но он учитывает регистр чего ему добавить надо? (строка 16)
Я mysql еще не силен кусочки юзаю. А ето не найду нужного.
Код:
span style="color: #0000BB"><?phpfunction search_albom($query, $start = 0, $limit = 10, $search = '') { if (!$search) { switch ($query) { case '1-9': $like = 'REGEXP "^[0-9].*"'; break; case 'a-z': $like = 'REGEXP "^[a-z].*"'; break; default: $like = 'LIKE "'.$query.'%"'; break; } } else { $like = 'LIKE "%'.str_replace(' ','%',$query).'%"'; } $limit = ' LIMIT '.$start.','.$limit; $n = mysql_query('SELECT * FROM `albom` WHERE name '. $like); $n = mysql_num_rows($n); $r = mysql_query('SELECT * FROM `albom` WHERE name '. $like .' ORDER BY name'. $limit); $a = array(); while($row = mysql_fetch_array($r)) { $a[] = $row; } return array($a, $n);}
Отредактировано TLENS (2011.05.10 06:06)
#2. TLENS Off (14)
Moderator
2011.05.10 06:06
Да кстати пробовал BINARY но он мне только с латиной работает
#3. TLENS Off (14)
Moderator
2011.05.10 07:07
Да еще одно сравнение поля стоит utf_general_ci может сменить его?
Отредактировано TLENS (2011.05.10 07:07)
#4. TLENS Off (14)
Moderator
2011.05.10 09:09
Блин пока парился с регистром запортачил таблицу.
Бекап есть но он запортачен я вливал данные через html_specialchars а phpmyadmin не перекодировал при бекапе одинарные ковички.
Можно ли как нибудь спасти таблицы?
Вложения
vsemp3.sql.zip 2mb [загрузок: 512]
#5. TLENS Off (14)
Moderator
2011.05.10 11:11
Вооищем вот кусок кода
Код:
(111, 2073, 'Follow Your Dreams - Marlboro Abenteuer Team ''91 - 1991'),
Вожет как то гегуляркой попробувать?
#6. Gemorroj Off (107)
Administrator
2011.05.10 11:11
насчет регистронезависимого поиска - постфикс "_ci" как раз и говорит о том, чтобы mysql видел данные как регистронезависимые строки.
судя по битым таблицам, у тебя некорректно установлено соединение с БД. SET NAMES utf8 делал? если не напутать с кодировками, то регистронезависимый поиск с кириллицей отлично работает. Есть обходные аврианты, например, налету делать LOWER всем строкам при поиске, но это плохой вариант.
Код:
file_put_contents('/test.sql', iconv('UTF-8', 'CP1252//TRANSLIT//IGNORE', file_get_contents('Z:/home/gmanager/www/data/vsemp3.sql')));
Добавлено спустя   2 минуты  4 секунды:
что тебе от регулярки нужно-то? ты понимаешь что скорость работы регулярки не позволит сделать поиск по бд?
Вложения
test.zip 2mb [загрузок: 512]
#7. TLENS Off (14)
Moderator
2011.05.10 12:12
Спасиб вот только чет track не полностю залился только 13 тыщь
Что это за ошибка
Код:
Notice: Uninitialized string offset: 0 in /home/......../functions.php on line 2685
 
Notice: Uninitialized string offset: 1 in /home/......../functions.php on line 2685
 
Notice: Uninitialized string offset: 0 in /home/......../functions.php on line 2685
 
Notice: Uninitialized string offset: 0 in /home/......../functions.php on line 2685
 
Notice: Uninitialized string offset: 1 in /home/......../functions.php on line 2685
 
Notice: Uninitialized string offset: 0 in /home/......../functions.php on line 2685
 
Notice: iconv_strlen() [function.iconv-strlen]: Detected an illegal character in input string in /home/......../functions.php on line 2801
 
Notice: iconv_substr() [function.iconv-substr]: Detected an illegal character in input string in /home/......../functions.php on line 2801
 
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/......../functions.php on line 2813
 
Notice: iconv_strlen() [function.iconv-strlen]: Detected an illegal character in input string in /home/......../functions.php on line 2801
 
Notice: iconv_substr() [function.iconv-substr]: Detected an illegal character in input string in /home/......../functions.php on line 2801
Твоим менеджером заливал
Начинается с 2685 строки
Это не изза кавычек?
Добавлено спустя   2 минуты  37 секунд:
О все инсталятором залил. Спасибо
Отредактировано TLENS (2011.05.10 12:12)
#8. Gemorroj Off (107)
Administrator
2011.05.10 12:12
Это не найден индекс какой-то. Версия менеджера старая какая-то. Файла functions.php в актуальных версиях уже нету.
SQL файл не распознался полностью. посмотри сначала его. И вообще такие дампы лучше заливать через phpmyadmin, а не менеджер или другие самоделки. Спарсить такой SQL мало кто сможет.
#9. TLENS Off (14)
Moderator
2011.05.10 12:12
phpmayadmin ошибку дает щас новую версию менеджера поставлю.
Gemorroj написал:
насчет регистронезависимого поиска - постфикс "_ci" как раз и говорит о том, чтобы mysql видел данные как регистронезависимые строки.
А какой надо поставить?
Кстати как теперь работать с базой, оно все в CP1252 и возвращает иероглифы
#10. Gemorroj Off (107)
Administrator
2011.05.10 13:01
нет, оно в utf-8. просто у тебя там беда с кодировками. и подключаешься к бд, ты скорее всего некорректно. про SET NAMES еще раз прочитай.
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.015 s