Forum Webscript.Ru
Программирование => PHP => Тема начата: Vetroff от 23 Июля 2003, 22:39:36
-
может конечно и глупый вопрос, но есть ли способ пробежать алфавит от а до я или a-z каким нибудь циклом или еще как-нибудь?
спасибо..
-
через [p]chr[/p]
-
Ну или можешь в UTF-8 пробежаться от А и до Я :)
-
В смысле
1040;
и 1071;
-
а mysql поймет А
-
Это зависит от character_sets, наверно. А если очень хочется именно #1040, то можно [p]iconv[/p] использовать
-
n0name:
. А если очень хочется именно #1040
да мне не хочется, мне хочется быбрать из бд все на а, потом б и до конца, воспримет ли бд
А
как а?
-
господи
for($c="a";$c<="z";$c++)
с русским в кодировке вынь тоже прокатит, но без ё
-
А вообще, алфавит не такой большой и иногда бывает полезнее просто ручками написать массив типа array (\'а\', \'б\', \'в\' ...).
Главное, никаких букв не забыть :)
-
FreeSpace
ну, это как то не по взрослому
RomikChef
а ядумал, что такая потеха ну максимум с латиницей может прокатить, спасибо опробую
-
Vetroff
мне кажется ты себе лишние проблемы придумываешь...
ORDER BY
-
nagash
нет, ты не понял order by там не пойдет...
-
В общем, записи, начинающиеся на каждую букву алфавита...
for($i=192;$i<=223;$i++){
$result=mysql_query("select * from my_table where field1 like \'".chr($i)."%\'");
while($row=mysql_fetch_arrow...
....
}
-
Vetroff:
order by там не пойдет
это еще почему?
как раз выберешь все в алфивтном порядке
n0name:
for($i=192;$i<=223;$i++){
$result=mysql_query("select * from my_table where field1 like \'".chr($i)."%\'");
while($row=mysql_fetch_arrow...
....
}
супер. просто супер.
-
??? Такое пишут только в 5 классе?? :)
-
такое вообще не пишут
-
Вот тебе алфавит, вот тебе записи...
-
ага
и валяющаяся трупом база
-
Офигеть :)
Задачу нормально объясните хотя бы, что сделать нужно?
[OFF]Небольшой оффтопик, не удержался :)
Специально для тебя, ThE0ReTiC, если ещё не видел - Матри-Ца-Дза (http://kin-dza-dza.etel.ru/video/kintrix.avi)[/OFF]
-
мать моя женщина!
Это ж какой я невнимательный.
прямо перед моим ответом был фопрос.
конечно тут только ordr by!!!
-
нет, ты не понял order by там не пойдет...
-
n0name
да почему?
-
Точный ответ только Vetroff может дать :) Например, ему нужно каждой букве линк, каждому линку соответствующие записи. SELECT ... ORDER BY... Получает один большой результат и не знает чего с ним делать, а скорее всего лень. Вот и охота ему SELECT что-то такое FROM ... и получилось $result_array_A;
$result_array_B;
...
-
RomikChef:
господи
for($c="a";$c<="z";$c++)
с русским в кодировке вынь тоже прокатит, но без ё
такое не катит, выдает не совсем то, ну а срусским вообще не хотит
-
Vetroff:
нужна групировка по буквам
можт пояснишь?
слово - это тоже отгруппированная последовательность букв...
-
ThE0ReTiC:
слово - это тоже отгруппированная последовательность букв...
необходимо на одной странице составить алфавитный список юзерей, причем есть имена в кирилице (вин) и в латинице,
т.е.
А Б
--- -------
ааааааа бббббббббббббб
ааааб ббббв
аааа. ббббб
и тд
-
Vetroff
и чего - ты хочешь группировать их по какому алфавиту?
по русскому, тогда как быть с буквой s
или по латинскому, тогда как быть, например с ч ?
в принципе order by
-
давно бы уже написал 33 ссылки вручную (надеюсь 33 буквы в русском алфавите?) да и проблем то...
а в поиске where text like \'".$bukva."%\'
и т.п.
да тем более тебе уже ответ дали...
-
nagash:
давно бы уже написал 33 ссылки вручную
так я давно уже атк сделал, но это же просто дибилизм, а с латиницей попроще - через chr() сделал....
-
кто понял - объясните мне, если нетрудно - что ему надо-то?
-
RomikChef
чесслово - я не понял
-
SELECT поля, которые, тебе, нужны FROM tab_name ORDER BY surname
Получишь ВСЕ фамилии, отсортированные по алфавиту. Вывести их как тебе надо - пустяковый алгоритм
-
Vetroff:
там я на каждую букву делал отдельный запрос, а хотелось бы через цикл
тридцать запросов вместо одного??? Если бы я делал это у себя, то моя бы база просто загнулась.
Vetroff:
нет, я конечно понимаю, что вы - крутые перцы и все такое, но надо немного лицо попроще, и народ потянется
[OFF]зря ты так, потому что Ромик сегодня очень спокойный[/OFF]
-
Vetroff
То есть, если убрать эти буковки между фамилиями, то получится обыкновенный список авторов, отсортированный обыкновенным ORDER BY - так?
А тебе не приходила в голову мысль выводить буковку не ДО того, как ты сделал список, а В ПРОЦЕССЕ вывода.
Началась буква "А" - пишешь ее, потом выводишь фамилии.
началась "Б" - пишешь ее, потом выводишь фамилии.
Всего-то добавляется в цикл while, который выводит фамилии избазы, одно малюсенькое условие - субстром отрезаем первую букву от фамили, сравниваем с запомненной в предыдущей итерации, если не совпадает - выводим ее и запоминаем.
Так будет даже правильнее - не будет пустых разделов, на Ю, например.
Если же нужны пустые, то это сделать тоже легко, в том же условии.
ЗЫ. Спасибо тебе огроменное, что ты догадался, наконец, на пальцах показать, что тебе надо.
а то бы мы долго тут мучались. У меня было вариантов пять того, что тебе надо.
-
закрыто и очищено...