CGI-BBS > データベース > 簡易データベース > 検索結果の件数を表示したい


カレッヂ
カレッヂ


質問者 初心者  投稿日 1/26(金) 11:41:48
お世話になります。
検索の結果に、全部で「何件ありました」のように、表示したいと思い、$hit、@NEWを使ってみましたが、どれでも1ページ内の件数しかありませんでした。どうすればいいでしょうか。
よろしくお願いします。
回答者 llama  [削除]  投稿日 2/8(木) 19:12:12
if (!open(IN,"$file")) { &error('データベース読取エラー','復旧をお待ちください.'); }
@BASE = <IN>;
$all = @BASE;
close(IN);




<h2>《検索結果》</h2>
全$all件の登録があります。

こんな感じで如何でしょう?
質問者 初心者  [削除]  投稿日 2/8(木) 22:27:44
メッセージをありがとうございました。

でも、@BASEはファイル内データの全件数でした。

回答者 llama  [削除]  投稿日 2/9(金) 08:41:37

 失礼♪
日本語を理解してませんでした。
全登録数じゃなくて、全検索結果の数ですね。
回答者  [削除]  投稿日 2/9(金) 10:25:07
検索結果は@NEWに入っているみたいです。
回答者 llama  [削除]  投稿日 2/9(金) 21:21:10

# 都道府県(一致)

if ($FORM{'PREF'} ne 'all') {
if ($PREF eq $FORM{'PREF'}) { $seach_pref++; } else { next; }
}
# 性別(一致)
if ($FORM{'SEX'} ne 'all') {
if ($SEX eq $FORM{'SEX'}) { $seach_sex++; } else { next; }
}
# 年齢(一致)
if ($FORM{'AGE'} ne 'all') {
if ($AGE eq $FORM{'AGE'}) { $seach_age++; } else { next; }
}
# ニックネーム(マッチ)
if ($FORM{'HANDLE'} ne '') {
if ($HANDLE =~ /^([\x00-\x7F]|[\x8E\xA1-\xFE][\xA1-\xFE]|\x8F[\xA1-\xFE]{2})*$FORM{'HANDLE'}/i) { $seach_handle++; } else { next; }
}
# 検索終了処理
if ($hit == $page) { $next_num = $num; last; }
else { push(@NEW,$data2); $hit++; }
}
if ($seach_pref eq '' and $seach_sex eq '' and $seach_age eq '' and $seach_handle eq '') { $seach_all = $all; }
else { この中に何かすれば出来るような・・・ }

#■検索結果
print "Content-type: text/html\n\n";
print <<"EOF";
<html><head><title>$title</title></head>
<!-- MiniDatabase v2.1 (c) www.rescue.ne.jp -->
$body
<h2>《検索結果》</h2>
指定検索の結果、$seach_all件の該当がありました。<p>   #日本人じゃないんで日本語の表現のまずさは許して(笑)
EOF

検索したいそれぞれの所に、適当な変数名で++すると引っかかった数が取得できるみたいです。
その後それを複数指定の時にどう調整すればいいか検討中。
賢い方フォロー宜しくです。

質問者 初心者  [削除]  投稿日 2/15(木) 08:13:42
IIamaさん、羊さん

ご返事が遅くなってすみません。

いろいろとご親切に教えていただいてありがとうございます。

本当に初心者なので、フォローできないから、IIamaさんには悪いですけど、一応、羊さんの改造したものを使ってみたいと思います。結果を後でご報告しますので、よろしくお願いいたします。
質問者 初心者  [削除]  投稿日 2/15(木) 08:34:40
羊さん

うまくいきました!本当にありがとうございます。

うるさいと思われるかもしれませんが、また、「価格の数字にカンマを表示したい」というもう一つの質問を掲示板に書き込みましたので、よろしくお願いします。

このページは終了したので返信(回答)は書きこめません

Web裏技