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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Konstantin Maslennikov               2:5020/400     28 Oct 2000  19:02:31
 To : All
 Subject : ПОЧЕМУ ЖЕ???
 -------------------------------------------------------------------------------- 
 
 Итак, имеем скрипт:
 ================================ HАЧАЛО ===============================
 #!/usr/bin/perl -wT
 use locale;
 use CGI qw/:standard/;
 
 $database="database";
 $hostname="";
 $user="username";
 $password="password";
 
 print header,
    start_html('TEST') ;
 
 sub connectToDB {
  use DBI;
  $driver = "mysql";
  $dsn = "DBI:$driver:database=$database;host=$hostname";
  $dbh = DBI->connect($dsn, $user, $password) or die print "Failed to connect
 to mysql server"  .$DBI::errstr ; }
 
 sub citys {
 my $asth = $dbh->prepare("select * from city order by city");
 
 $asth->execute;
 
 while ( my(@ttt) = $asth->fetchrow_array){
     $citys{$ttt[0]} = $ttt[1]; }
 return %citys;
 
 $asth->finish;
 
  }
 
 &connectToDB;
 %citys = &citys;
 
 $citys{0} = "-----------------";
 print start_form( -action=>'/cgi-bin/script.cgi');
 print "<SELECT NAME=\"city_b\">";
 @test = sort {$citys{$a} cmp $citys{$b}} keys %citys;
 foreach (@test) {
  if ($_ == 0 ) { print "<OPTION  VALUE=$_ SELECTED>$citys{$_}";}
  else { print "<OPTION  VALUE=$_>$citys{$_}";}
 }
 print "</SELECT>";
 print br, submit, reset, end_form;
 print end_html;
 ================================ КОHЕЦ ===============================
 
 В базе города храняся в таком порядке:
 
 mysql> select * from city;
 
 +----+-----------+
 | id | city      |
 +----+-----------+
 |  7 | Пенза     |
 |  6 | Гродно    |
 |  5 | Астрахань |
 |  4 | Саров     |
 |  3 | Тамбов    |
 |  2 | Воркута   |
 |  1 | Казань    |
 +----+-----------+
 Вот что выдает если запускать его из командной строки:
 ================================ HАЧАЛО ===============================
 <HTML><HEAD><TITLE>TEST</TITLE></HEAD>
 <BODY>
 <FORM METHOD="POST" ACTION="/cgi-bin/script.cgi"
 ENCTYPE="application/x-www-form-urlencoded">
 <SELECT NAME="city_b">
 <OPTION  VALUE=0 SELECTED>-----------------
 <OPTION  VALUE=5>Астрахань
 <OPTION  VALUE=2>Воркута
 <OPTION  VALUE=6>Гродно
 <OPTION  VALUE=1>Казань
 <OPTION  VALUE=7>Пенза
 <OPTION  VALUE=4>Саров
 <OPTION  VALUE=3>Тамбов
 </SELECT>
 <INPUT TYPE="submit" NAME=".submit"><INPUT TYPE="reset">
 </FORM></BODY></HTML>
 ================================ КОHЕЦ ===============================
 
 А вот что получается в броузере :
 ================================ HАЧАЛО ===============================
 <HTML><HEAD><TITLE>TEST</TITLE></HEAD>
 <BODY>
 <FORM METHOD="POST" ACTION="/cgi-bin/script.cgi"
 ENCTYPE="application/x-www-form-urlencoded">
 <SELECT NAME="city_b">
 <OPTION  VALUE=0 SELECTED>-----------------
 <OPTION  VALUE=5>Астрахань
 <OPTION  VALUE=6>Гродно
 <OPTION  VALUE=1>Казань
 <OPTION  VALUE=7>Пенза
 <OPTION  VALUE=4>Саров
 <OPTION  VALUE=3>Тамбов
 <OPTION  VALUE=2>Воркута
 </SELECT>
 <INPUT TYPE="submit" NAME=".submit"><INPUT TYPE="reset">
 </FORM></BODY></HTML>
 ================================ КОHЕЦ ===============================
 Внимание, вопрос:  ПОЧЕМУ "Воркута" уехала в конец???? Чем отличается вывод
 скрипта в консоль от вывода в броузер???
 
 --
 Best regards,
   K.Maslennikov                          kosmas@mail.wplus.net
                                          http://www.ksp.spb.ru
 З.Ы. Может, кто подскажет как проще сделать то же - отсортировать хеш,
 выбранный из базы, по
 значениям и сделать из него popup_menu?
 --- ifmail v.2.15dev5
  * Origin: WEBPlus Ltd. (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 ПОЧЕМУ ЖЕ???   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/13431aa4f9751.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional