#1 2011.05.10 06:36

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Выборка без учета регистра

Вот зделал функцию для выборки хотел еще зделать простенький поиск но он учитывает регистр чего ему добавить надо? (строка 16)
Я mysql еще не силен кусочки юзаю. А ето не найду нужного.

Код:

1
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:41)

Неактивен

#2 2011.05.10 06:49

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

Да кстати пробовал BINARY но он мне только с латиной работает

Неактивен

#3 2011.05.10 07:03

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

Да еще одно сравнение поля стоит utf_general_ci может сменить его?

Отредактировано TLENS (2011.05.10 07:03)

Неактивен

#4 2011.05.10 09:33

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

Блин пока парился с регистром запортачил таблицу.
Бекап есть но он запортачен я вливал данные через html_specialchars а phpmyadmin не перекодировал при бекапе одинарные ковички.
Можно ли как нибудь спасти таблицы?


Вложения

Неактивен

#5 2011.05.10 11:42

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

Вооищем вот кусок кода

Код:

1
(111, 2073, 'Follow Your Dreams - Marlboro Abenteuer Team ''91 - 1991'),

Вожет как то гегуляркой попробувать?

Неактивен

#6 2011.05.10 11:59

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Выборка без учета регистра

насчет регистронезависимого поиска - постфикс "_ci" как раз и говорит о том, чтобы mysql видел данные как регистронезависимые строки.
судя по битым таблицам, у тебя некорректно установлено соединение с БД. SET NAMES utf8 делал? если не напутать с кодировками, то регистронезависимый поиск с кириллицей отлично работает. Есть обходные аврианты, например, налету делать LOWER всем строкам при поиске, но это плохой вариант.

Код:

1
file_put_contents('/test.sql', iconv('UTF-8', 'CP1252//TRANSLIT//IGNORE', file_get_contents('Z:/home/gmanager/www/data/vsemp3.sql')));

Добавлено спустя   2 минуты  4 секунды:
что тебе от регулярки нужно-то? ты понимаешь что скорость работы регулярки не позволит сделать поиск по бд?


Вложения

Неактивен

#7 2011.05.10 12:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

Спасиб вот только чет track не полностю залился только 13 тыщь
Что это за ошибка

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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:37)

Неактивен

#8 2011.05.10 12:39

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Выборка без учета регистра

Это не найден индекс какой-то. Версия менеджера старая какая-то. Файла functions.php в актуальных версиях уже нету.
SQL файл не распознался полностью. посмотри сначала его. И вообще такие дампы лучше заливать через phpmyadmin, а не менеджер или другие самоделки. Спарсить такой SQL мало кто сможет.

Неактивен

#9 2011.05.10 12:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Выборка без учета регистра

phpmayadmin ошибку дает щас новую версию менеджера поставлю.

Gemorroj написал:

насчет регистронезависимого поиска - постфикс "_ci" как раз и говорит о том, чтобы mysql видел данные как регистронезависимые строки.

А какой надо поставить?
Кстати как теперь работать с базой, оно все в CP1252 и возвращает иероглифы

Неактивен

#10 2011.05.10 13:00

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Выборка без учета регистра

нет, оно в utf-8. просто у тебя там беда с кодировками. и подключаешься к бд, ты скорее всего некорректно. про SET NAMES еще раз прочитай.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.019 s