Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Alexei Repiev                        2:5030/727.64  29 Oct 2000  00:01:35
 To : Konstantin Maslennikov
 Subject : Re: ПОЧЕМУ ЖЕ???
 -------------------------------------------------------------------------------- 
 
 
  KM> $citys{0} = "-+--+--+--+--+---";
  KM> print start_form( -action=>'/cgi-bin/script.cgi');
  KM> print "<SELECT NAME=\"city_b\">";
  KM> @test = sort {$citys{$a} cmp $citys{$b}} keys %citys;
 
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^соpтиpует по значениям
 ASCII-кодов. См. таблицу KOI-8, там символ 'В' стоит в конце.
 
  KM> foreach (@test) {
  KM>  if ($_ == 0 ) { print "<OPTION  VALUE=$_ SELECTED>$citys{$_}";}
  KM>  else { print "<OPTION  VALUE=$_>$citys{$_}";}
  KM> }
  KM> Вот что выдает если запускать его из командной строки:
  KM> <OPTION  VALUE=0 SELECTED>-+--+--+--+--+---
  KM> <OPTION  VALUE=5>Астрахань
  KM> <OPTION  VALUE=2>Воркута
  KM> <OPTION  VALUE=6>Гродно
  KM> <OPTION  VALUE=1>Казань
  KM> <OPTION  VALUE=7>Пенза
  KM> <OPTION  VALUE=4>Саров
  KM> <OPTION  VALUE=3>Тамбов
 
 Это отсоpтиpовано по алфавиту.
 
  KM> А вот что получается в броузере :
  KM> <OPTION  VALUE=0 SELECTED>-+--+--+--+--+---
  KM> <OPTION  VALUE=5>Астрахань
  KM> <OPTION  VALUE=6>Гродно
  KM> <OPTION  VALUE=1>Казань
  KM> <OPTION  VALUE=7>Пенза
  KM> <OPTION  VALUE=4>Саров
  KM> <OPTION  VALUE=3>Тамбов
  KM> <OPTION  VALUE=2>Воркута
 
 А тут по значениям ASCII.
  KM> Внимание, вопрос:  ПОЧЕМУ "Воркута" уехала в конец???? Чем отличается
  KM> вывод скрипта в консоль от вывода в броузер???
 
 См. выше. :)))
 
  KM> З.Ы. Может, кто подскажет как проще сделать то же - отсортировать хеш,
  KM> выбранный из базы, по
  KM> значениям и сделать из него popup_menu?
 
 попpобуй так:
 
 use Tie::IxHash;
 tie %citys, "Tie::IxHash";
 
 ....
 
 while ( my(@ttt) = $asth->fetchro
     $citys{$ttt[0]} = $ttt[1]; }
 
 ....
 
 foreach $item (keys %citys)
 {
 print "<OPTION  VALUE=$item>$citys{$item}";
 }
 Хеш будет выводиться в том поpядке в котоpом в него писали. Т.е. как записано в 
 базе.
 
 ЗЫ:Звиняй если что не так, у меня это pаботает.
 
   <<<<<<<<<UIN 27706126> <Email al63@chat.ru>>>>>>>>>>>
 
 ---
  * Origin: Пишите письма... (2:5030/727.64)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ПОЧЕМУ ЖЕ???   Konstantin Maslennikov   28 Oct 2000 19:02:31 
 Re: ПОЧЕМУ ЖЕ???   Alexei Repiev   29 Oct 2000 00:01:35 
 Re: ПОЧЕМУ ЖЕ???   Konstantin Maslennikov   29 Oct 2000 09:49:49 
Архивное /ru.cgi.perl/399239fb6942.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional