CGI-BBS > データベース > 簡易データベース > 検索結果の表示について前の10件↑をcgiの中に追加したい。


カレッヂ
カレッヂ


質問者 kumi  投稿日 12/9(月) 00:01:49
データベースの検索結果が多数になる場合、$page = 10 で、10件ごとに「次の10件↓」と
表示されます。2回目から、「前の10件↑」も表示したいのです
逆順は、reverseを使うのだと思うのですがうまきいきません
if ($next_num ne '') {

		while (($key,$val) = each %FORM2) {

			if ($key ne 'FF') { $buf = "$buf&$key=$val"; }
		}
		
print "<h3>↓<a href=\"search.cgi?$buf&FF=$next_num\">次の$page件</a>↑<a href=\"search.cgi?$buf&FF=reverse $next_num\">前の$page件</a></h3>\n";
          }
}
変数$next_numの前にreverseでは間違いですか? 教えてください。

プロバイダ参照:www.sakura.ad.jp/
サーバのOS:UNIXサーバ
パソコンのOS:Win95系
エディタ:秀丸
FTPソフト:ffftp
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 やまだ  [削除]  投稿日 12/9(月) 23:49:01
reverse関数は、配列をinverseにするものです。スカラーに用いようとしても(上記では、ただの文字列としか
判断されないが。)意味なしです。
やりたいことは、ブラウザの戻るでもいいように感じるが、↓のようなので、いいのかしら、

161行目あたりからのif文
	if($next_num ne ''){
		...
	}
の直下に、↓のを埋め込んでみてくださいな。(内容は単純なので、略)

	$back_num = $FF-$page;
	if($back_num < 0 && $FF != 0){ $back_num=0;}
	if($back_num >= 0){
		if($next_num eq ''){
			while (($key,$val) = each %FORM2) {

				if ($key ne 'FF') { $buf = "$buf&$key=$val"; }
			}
		}
		print "<h3>↑<a href=\"search.cgi?$buf&FF=$back_num\">前の$page件</a></h3>\n";
	}
質問者 kumi  [削除]  投稿日 12/11(水) 13:02:53
見事、意とする解決が得られました
本当に、ありがとうございました。

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

Web裏技