--- db/prgsrc/db.cgi 2003/07/17 07:59:14 1.123 +++ db/prgsrc/db.cgi 2003/12/19 01:44:47 1.126 @@ -93,6 +93,14 @@ my %TypeName=('children'=>'Д', 'game'=>' 'chgk'=>'Ч', 'brain'=>'Б', 'beskrylka'=>'Л','ehruditka'=>'Э'); +sub countz { + my ($dbh,$type)=@_; + + my $sth=$dbh->prepare("select count(*) from Questions where Type LIKE '%$type%'"); + $sth->execute(); + my ($tmp)=$sth->fetchrow(); + return $tmp; +} my $all=param('all'); $all=0 if lc $all eq 'no'; @@ -1050,9 +1058,20 @@ sub PrintTournament { }; } } else { - my ($qnum) = GetQNum($dbh); - $output .= h2("Банк Вопросов: $qnum вопрос".&Suffix($qnum)) - . p . "\n"; + my ($qnum) = GetQNum($dbh,0); + my ($qnum1) = GetQNum($dbh,1); + $output .= h2("База вопросов"). + h3("$qnum запис".&Suffix2($qnum). + " (не повторяется $qnum1)"); + +# h4("
$1<\/pre>/mg; - $value =~ s/\s+-+\s+/ /mg; $value =~ s/(http:\/\/\S+[^\s\)\(\,\.])/$1<\/a>/g if $header !~ /^Авто/; # $value =~ s/(http:\/\/(?:\w+.)+[\w\\\~]+(\?[^\s.]+)?)/$1<\/a>/g if $header !~ /^Авто/; # $value =~ s/(\s)"/$1/mg; @@ -1405,12 +1443,22 @@ qid=$qid"}, 'Близкие вопросы').p # Returns the total number of questions currently in the DB. sub GetQNum { - my ($dbh) = @_; + my ($dbh,$x) = @_; my ($sth) = $dbh->prepare("SELECT COUNT(*) FROM Questions"); $sth->execute; my $tmp=($sth->fetchrow)[0]; $sth->finish; - return $tmp; + ($sth)= $dbh -> prepare("select distinct count(first) FROM equalto"); + $sth -> execute; + my ($c)=$sth->fetchrow; + +# $i++ while ( my ($first, $second)=$sth -> fetchrow) +# { +# $forbidden{$first}=1; +# } + $sth->finish; + + return $tmp-($x?$c:0); } sub GetMaxQId { my ($dbh) = @_; @@ -1876,7 +1924,7 @@ MAIN: exit } - if ($tour && (!param('answers')||!param('answers')<=1)) + if ($tour && !param('qnumber') && (!param('answers')||(param('answers')<=1))) { my $n=param('tour'); $n=~s/.txt$//; @@ -2138,7 +2186,7 @@ EOT # FROM Tournaments as t1, Tournaments as t2 # WHERE t1.CreatedAt>$d AND t2.ParentId=t1.Id GROUP BY t1.Id"); my ($sth) = $dbh->prepare("SELECT t1.Id, t1.FileName, t1.Type, count(t2.Id) FROM Tournaments as t1 LEFT JOIN Tournaments as t2 - ON t2.ParentId=t1.id WHERE t1.CreatedAt>$d GROUP BY t1.Id"); + ON t2.ParentId=t1.id WHERE t1.CreatedAt>=$d GROUP BY t1.Id"); $sth->execute; my ($Id,$fname,$type,$c); while (($Id,$fname,$type,$c)=$sth->fetchrow,$Id) {