Forum Webscript.Ru

Программирование => PHP => Тема начата: Vetroff от 23 Июля 2003, 22:39:36

Название: алфавит
Отправлено: Vetroff от 23 Июля 2003, 22:39:36
может конечно и глупый вопрос, но есть ли способ пробежать алфавит от а до я или a-z каким нибудь циклом или еще как-нибудь?
спасибо..
Название: алфавит
Отправлено: Xander от 23 Июля 2003, 23:28:12
через [p]chr[/p]
Название: алфавит
Отправлено: n0name от 24 Июля 2003, 09:13:21
Ну или можешь в UTF-8 пробежаться от А и до Я :)
Название: алфавит
Отправлено: n0name от 24 Июля 2003, 09:14:32
В смысле &# 1040; и &# 1071;
Название: алфавит
Отправлено: Vetroff от 24 Июля 2003, 09:15:28
а mysql поймет А
Название: алфавит
Отправлено: n0name от 24 Июля 2003, 09:23:09
Это зависит от  character_sets, наверно. А если очень хочется именно #1040, то можно [p]iconv[/p] использовать
Название: алфавит
Отправлено: Vetroff от 24 Июля 2003, 09:26:05
Цитировать
n0name:
. А если очень хочется именно #1040

да мне не хочется, мне хочется быбрать из бд все на а, потом б и до конца, воспримет ли бд
А
  как а?
Название: алфавит
Отправлено: Меняздесьдавнонет от 24 Июля 2003, 10:29:28
господи
for($c="a";$c<="z";$c++)
с русским в кодировке вынь тоже прокатит, но без ё
Название: алфавит
Отправлено: FreeSpace от 24 Июля 2003, 13:31:22
А вообще, алфавит не такой большой и иногда бывает полезнее просто ручками написать массив типа array (\'а\', \'б\', \'в\' ...).
Главное, никаких букв не забыть :)
Название: алфавит
Отправлено: Vetroff от 24 Июля 2003, 22:29:50
FreeSpace
ну, это как то не по взрослому


RomikChef
а ядумал, что такая потеха ну максимум с латиницей может прокатить, спасибо опробую
Название: алфавит
Отправлено: nagash от 24 Июля 2003, 23:14:03
Vetroff
мне кажется ты себе лишние проблемы придумываешь...
ORDER BY
Название: алфавит
Отправлено: Vetroff от 24 Июля 2003, 23:18:32
nagash
 нет, ты не понял order by  там не пойдет...
Название: алфавит
Отправлено: n0name от 25 Июля 2003, 12:26:14
В общем, записи, начинающиеся на каждую букву алфавита...

for($i=192;$i<=223;$i++){
    $result=mysql_query("select * from my_table where field1 like \'".chr($i)."%\'");
    while($row=mysql_fetch_arrow...
....
}
Название: алфавит
Отправлено: ThE0ReTiC от 25 Июля 2003, 12:36:59
Цитировать
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...
....
}

супер. просто супер.
Название: алфавит
Отправлено: n0name от 25 Июля 2003, 13:07:15
??? Такое пишут только в 5 классе?? :)
Название: алфавит
Отправлено: ThE0ReTiC от 25 Июля 2003, 13:10:09
такое вообще не пишут
Название: алфавит
Отправлено: n0name от 25 Июля 2003, 14:10:27
Вот тебе алфавит, вот тебе записи...
Название: алфавит
Отправлено: ThE0ReTiC от 25 Июля 2003, 14:11:20
ага
и валяющаяся трупом база
Название: алфавит
Отправлено: FreeSpace от 25 Июля 2003, 14:47:02
Офигеть :)
Задачу нормально объясните хотя бы, что сделать нужно?

[OFF]Небольшой оффтопик, не удержался :)
Специально для тебя, ThE0ReTiC, если ещё не видел - Матри-Ца-Дза (http://kin-dza-dza.etel.ru/video/kintrix.avi)[/OFF]
Название: алфавит
Отправлено: Меняздесьдавнонет от 25 Июля 2003, 14:52:26
мать моя женщина!
Это ж какой я невнимательный.
прямо перед моим ответом был фопрос.
конечно тут только ordr by!!!
Название: алфавит
Отправлено: n0name от 25 Июля 2003, 14:56:42
Цитировать
нет, ты не понял order by там не пойдет...
Название: алфавит
Отправлено: ThE0ReTiC от 25 Июля 2003, 14:59:58
n0name
да почему?
Название: алфавит
Отправлено: n0name от 25 Июля 2003, 15:30:03
Точный ответ только Vetroff может дать :) Например, ему нужно каждой букве линк, каждому линку соответствующие записи. SELECT ... ORDER BY... Получает один большой результат и не знает чего с ним делать, а скорее всего лень. Вот и охота ему SELECT что-то такое FROM ... и получилось $result_array_A;
$result_array_B;
...
Название: алфавит
Отправлено: Vetroff от 25 Июля 2003, 23:01:29
Цитировать
RomikChef:
господи
for($c="a";$c<="z";$c++)
с русским в кодировке вынь тоже прокатит, но без ё

такое не катит,  выдает не совсем то, ну а срусским вообще не хотит
Название: алфавит
Отправлено: ThE0ReTiC от 25 Июля 2003, 23:02:32
Цитировать
Vetroff:
нужна групировка по буквам

можт пояснишь?
слово - это тоже отгруппированная последовательность букв...
Название: алфавит
Отправлено: Vetroff от 26 Июля 2003, 00:35:21
Цитировать
ThE0ReTiC:
слово - это тоже отгруппированная последовательность букв...

 необходимо на  одной странице составить алфавитный список юзерей, причем есть имена в кирилице (вин) и в латинице,
 т.е.

А                                     Б
---                                   -------
ааааааа                      бббббббббббббб
ааааб                         ббббв
аааа.                          ббббб

и тд
Название: алфавит
Отправлено: ThE0ReTiC от 26 Июля 2003, 01:07:28
Vetroff
и чего - ты хочешь группировать их по какому алфавиту?
по русскому, тогда как быть с буквой s
или по латинскому, тогда как быть, например с ч ?

в принципе order by
Название: алфавит
Отправлено: nagash от 26 Июля 2003, 04:42:08
давно бы уже написал 33 ссылки вручную (надеюсь 33 буквы в русском алфавите?) да и проблем то...
а в поиске where text like \'".$bukva."%\'
и т.п.
да тем более тебе уже ответ дали...
Название: алфавит
Отправлено: Vetroff от 26 Июля 2003, 08:15:49
Цитировать
nagash:
давно бы уже написал 33 ссылки вручную

так я давно уже атк сделал, но это же просто дибилизм, а с латиницей попроще - через chr() сделал....
Название: алфавит
Отправлено: Меняздесьдавнонет от 26 Июля 2003, 09:57:53
кто понял - объясните мне, если нетрудно - что ему надо-то?
Название: алфавит
Отправлено: ThE0ReTiC от 26 Июля 2003, 10:33:34
RomikChef
чесслово - я не понял
Название: алфавит
Отправлено: Макс от 26 Июля 2003, 14:57:54
SELECT поля, которые, тебе, нужны FROM tab_name ORDER BY surname

Получишь ВСЕ фамилии, отсортированные по алфавиту. Вывести их как тебе надо - пустяковый алгоритм
Название: алфавит
Отправлено: Yukko от 26 Июля 2003, 16:47:38
Цитировать
Vetroff:
там я на каждую букву делал отдельный запрос, а хотелось бы через цикл
тридцать запросов вместо одного??? Если бы я делал это у себя, то моя бы база просто загнулась.

Цитировать
Vetroff:
нет, я конечно понимаю, что вы - крутые перцы и все такое, но надо немного лицо попроще, и народ потянется

[OFF]зря ты так, потому что Ромик сегодня очень спокойный[/OFF]
Название: алфавит
Отправлено: Меняздесьдавнонет от 26 Июля 2003, 17:05:10
Vetroff
То есть, если убрать эти буковки между фамилиями, то получится обыкновенный список авторов, отсортированный обыкновенным ORDER BY  - так?

А тебе не приходила в голову мысль выводить буковку не ДО того, как ты сделал список, а В ПРОЦЕССЕ вывода.
Началась буква "А" - пишешь ее, потом выводишь фамилии.
началась "Б"  - пишешь ее, потом выводишь фамилии.

Всего-то добавляется в цикл while, который выводит фамилии избазы, одно малюсенькое условие - субстром отрезаем первую букву от фамили, сравниваем с запомненной в предыдущей итерации, если не совпадает - выводим ее и запоминаем.

Так будет даже правильнее - не будет пустых разделов, на Ю, например.
Если же нужны пустые, то это сделать тоже легко, в том же условии.

ЗЫ. Спасибо тебе огроменное, что ты догадался, наконец, на пальцах показать, что тебе надо.
а то бы мы долго тут мучались. У меня было вариантов пять того, что тебе надо.
Название: алфавит
Отправлено: ThE0ReTiC от 28 Июля 2003, 00:48:48
закрыто и очищено...