|
|
07.06.2014, 13:01
|
|
Гость
Гость
|
Здравствуйте.
Есть сайт на котором есть большой список товаров. Хотелось бы организовать фильтр или выборку товаров по первой букве. С Natcat только начинаю разбираться. Нашел информацию о запросе к бд, но не знаю как ее ораганизовать.
Код:SELECT Author FROM Message190 WHERE LCASE(LEFT(Author,1))='а'
Это запрос на выборку в поле Authtor по букве а из таблицы Message190.
Подскажите какую конструкцию и как ее сделать на сайте.
Буду признателен за информацию.
|
|
|
07.06.2014, 14:07
|
|
Nexwich
Панасин Александр
Зарегистрирован: 2011-04-05
Сообщений: 1037
|
В системных настройках компонента 190
Код:if($_GET[search_chr]) $query_where = "a.Author LIKE '".$_GET[search_chr]."%'";
В нужном месте пропишите свои буквы.
Каждой букве Английского алфавита соответствует ASCII код, а это значит, что вместо того, что бы печатать каждую, мы можем использовать цикл:
Код:<?php
for ($i=65; $i< =90; $i++) {
$chr = chr($i);?>
<a href='?search_chr=<?=$chr?>'><?=$chr?></a>
<? } ?>
Данный код выведет все буквы алфавита в верхнем регистре. Если вам необходимы буквы в нижнем регистре вы можете использовать цифры от 97 до 122. Для русских букв 192 - 223 - А-Я и
224 - 255 - а-я.
Есть другой способ, использовать функцию range :
Код:<? foreach(range('A','Z') as $chr) echo "<a href='?search_chr=".$chr."'>".$chr."</a>"; ?>
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
07.06.2014, 16:48
|
|
Гость
Гость
|
Буквы прописал в префикс объекта. первый вариант выдл ошибку, второй заработал, но сортировку не дал.
|
|
|
07.06.2014, 17:10
|
|
Гость
Гость
|
Второй способ заработал, но мне интереснее первый так как товары специфические и идут на 3 языках, или же как подружить range с украинским и русским языками. Наше в рунете такую конструкцию:
Код:$abc = array();
foreach (range(chr(0xC0), chr(0xDF)) as $b)
$abc[] = iconv('CP1251', 'UTF-8', $b);
print_r($abc);
Думаю ее можно будет использовать для русского языка, если немного переделать, но что делать с кодировкой украинского языка?
|
|
|
07.06.2014, 17:26
|
|
lexusblack
Хостинг-провайдер Литвинов Максим
Зарегистрирован: 2014-02-26
Сообщений: 1
|
Если кому потребуется сортировка на русском языке и цифрами. Поправьте меня если я не прав.
Для русского алфавита:
Код:<? foreach(range(chr(0xC0), chr(0xDF)) as $b) echo "<a href='?search_chr=".iconv('CP1251', 'UTF-8', $b)."'>".iconv('CP1251', 'UTF-8', $b)."</a>"; ?><br />
Для цифр:
Код:<? foreach(range(0,9) as $chr) echo "<a href='?search_chr=".$chr."'>".$chr."</a>"; ?><br />
|