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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Yuri Khachaturian                    2:5020/975.1   23 Mar 2001  17:15:05
 To : All
 Subject : Помогите разобраться с циклом...
 -------------------------------------------------------------------------------- 
 
 выборку.
 
 Желаемый результат:
 
 Группа 1 
   подгруппа 10
   подгруппа 11 
   ...
 Группа 2
  подгруппа 20
  подгруппа 21
  подгруппа 22
 
 и т.д.
 
 В результате обработки все заканчивается на обработке "Группа 1 с
 подгруппами".
 
 Вот сам код:
 ... подключение к БД skipped ...
 
     while ($ref = $sth->fetchrow_arrayref)
       {
        $count=$count+1;
 
         my $code = $$ref[0];
      $code =~ s///g;
   
   $_ = "$code,$$ref[1]";
 
   next unless /^(\d{1,2}),(.*)/;
   print "<a href=\"$ENV{'SCRIPT_NAME'}?op=expand&sec=$code\">$$ref[1]</a>\n";
   &get_sec("$code");  
       }
     $rc = $sth->finish;
     $rc  = $dbh->disconnect;
  }
 };
 
 sub get_sec {
   my $req="SELECT CODE,DESCR FROM SC33 WHERE CODE LIKE \"$_[0]%\" ORDER BY
 DESCR";
 
   $dbh =
 DBI->connect("DBI:Sybase:server=$sqlserver;database=$database",$user,$passwd);
   $sth = $dbh->prepare($req);
    if (!$sth)
       {
          my $tmp=$dbh->errstr;
          print "$tmp$req";
       }
    elsif (!$sth->execute) {
          my $tmp=$sth->errstr;
          print "$tmp$req";
       }
    else {  
     my $ref;
     my $xcount;
     print "<blockquote>";
     while ($ref = $sth->fetchrow_arrayref)
       {
        $xcount=$xcount+1;
 
         my $code = $$ref[0];
      $code =~ s///g;
   
   $_ = "$code,$$ref[1]";
   next unless /^(\d{1,4}),(.*)/;
 
   if (!/^(\d{1,2}),(.*)/) {
    if ($$ref[1] eq "___" ) { $$ref[1] = "пЮГМHЕ"; }
    elsif ($$ref[1] eq "____________" ) { $$ref[1] = "пЮГМHЕ"; }
     print "<a href=\"$ENV{'SCRIPT_NAME'}?op=goods&sec=$code\">$$ref[1]</a><br>";
   }
       }
     print "</blockquote>";
     $rc = $sth->finish;
     $rc  = $dbh->disconnect;
  }
 };
 -- 
 Cheers, Yuri Khachaturian,
 The Official Gamma Ray fanclub in Russia - http://www.gammaray.ru
 --- tin/1.5.6-20000803 ("Dust") (UNIX) (FreeBSD/4.2-STABLE (i386))
  * Origin: A poorly-installed InterNetNews site (2:5020/975.1)
 
 

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

 Тема:    Автор:    Дата:  
 Помогите разобраться с циклом...   Yuri Khachaturian   23 Mar 2001 17:15:05 
 Помогите разобраться с циклом...   Dmitry Smolin   23 Mar 2001 19:11:00 
 Re: Помогите разобраться с циклом...   Yuri Khachaturian   24 Mar 2001 10:32:55 
Архивное /ru.perl/290122815b53e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional