--- db/prgsrc/db.cgi 2003/12/11 04:50:35 1.125
+++ db/prgsrc/db.cgi 2003/12/19 08:05:01 1.127
@@ -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("
".
+# Tr(td("Из них:"), td("Вопросов ЧГК: ".countz($dbh,'Ч'))).
+# Tr(td(" "), td("Вопросов для брейна: ".countz($dbh,'Б'))).
+# Tr(td(" "), td("Вопросов для ЧГК и брейна: ".countz($dbh,'ЧБ'))).
+# Tr(td(" "), td("Интернет-вопросов: ".countz($dbh,'И'))).
+# Tr(td(" "), td("Бескрылок: ".countz($dbh,'Л'))).
+# Tr(td(" "),td("Заданий для Своей Игры: ".countz($dbh,'Я'))).
+# Tr(td(" "),td("Эрудиток: ".countz($dbh,'Э'))))."
"
}
for ($i = 0; $i <= $#Tours; $i++) {
@@ -1143,6 +1162,23 @@ sub Suffix {
return $suffix;
}
+
+sub Suffix1 {
+ my ($qnum) = @_;
+ my ($suffix) = 'я' if $qnum =~ /[234]$/;
+ $suffix = 'е' if $qnum =~ /1$/;
+ $suffix = 'й' if $qnum =~ /[567890]$/ || $qnum =~ /1.$/;
+ return $suffix;
+}
+
+sub Suffix2 {
+ my ($qnum) = @_;
+ my ($suffix) = 'и' if $qnum =~ /[234]$/;
+ $suffix = 'ь' if $qnum =~ /1$/;
+ $suffix = 'ей' if $qnum =~ /[567890]$/ || $qnum =~ /1.$/;
+ return $suffix;
+}
+
sub IsTour {
my ($dbh, $Id,$n) = @_;
@@ -1407,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) = @_;