CGI-BBS > SO−HO > フリーマーケット > 1ページのサイズを変えずに表示したいです。


カレッヂ
カレッヂ


質問者 おが  投稿日 9/24(月) 16:19:48
是非教えて頂きたいのですが!

フリーマケットのトップ画面に例えば
10項目検索結果が出て
その結果の下に
検索結果 50件[ 1 2 3 4 5] [最新の状態]と
リンクの画面が出ます。

この[ 1 2 3 4 5]部分を数字ではなく
ページ数が増えるほど1ページのサイズが大きくなってしまいます!

print "<form method=\"$method\" action=\"$script\">\n";

print "</form>\n";
のように
[次のページへ]とクリックすると2ページ目が
また[次のページへ]とクリックすると3ページと表示されるように
<form>タグなどではさむように
一言でリンクしたいのですが....中々出来ません!

※かなり難しいと思いますが!
どなたか解る方是非お願いいたします。

auction.cgiのどこの部分をどのように変更すればよいか?

このような事が解る方はかなり
お忙しいとは思いますが
教えて下さい是非お願いします。

回答者 しあわせのツボ  [削除]  投稿日 9/24(月) 21:11:25
文章のつながりがよくわからないのですが…。

同様と思われる質問が既にありますが、解決に至っていません。
http://www.rescue.ne.jp/CGI-BBS/database/jsearch/20010920090535.shtml

とりあえず、auction.cgi line 268-274を削除し、以下の2行と置き換えてみて下さい(検証していないので動作は保証しかねます)。
$view_page = int($FORM{'FF'} / $page);
print " <a href=\"auction.cgi?action=$FORM{'action'}&$buf&IDX=$idx&FF=$Index[$view_page]\">次のページへ</a>";
質問者 おが  [削除]  投稿日 9/24(月) 23:23:29
夜分遅くすみません
しあわせのツボさん返信有難うございます。
とりあえずこの部分を削除して
差し替えてみましたが!

$view_page = $_ + 1;
                if ($FF == $Index[$_] || ($FORM{'FF'} eq '' && $_ == 0)) { print " <b>$view_page</b>"; $page_now = $view_page; }
                elsif ($view_page == 1 && $FORM{'strings'} eq '') { print " <a href=\"auction.cgi\">$view_page</a>"; }
                else { print " <a href=\"auction.cgi?action=$FORM{'action'}&$buf&IDX=$idx&FF=$Index[$_]\">$view_page</a>"; }
結果は
[ 次のページへ 次のページへ 次のページへ 次のページへ] [最新の状態]
ページ (-1〜0)
やはり
このように次のページへがいくつも出てきてしまいリンクも次のページが表示されませんでした。
どうもうまく作動しませんがどうしてなんでしょうか?




回答者 しあわせのツボ  [削除]  投稿日 9/24(月) 23:56:15
1行上のforeach〜も削除して下さい。
質問者 おが  [削除]  投稿日 9/25(火) 00:51:28
こんな時間に
度々申し訳ありませんが。

foreachループをはずし
「次のページ]をクリックしても
2ページ目が表示されず
何度クリックしてもトップページのままです。

$view_page = int($FORM{'FF'} / $page);
この部分を変えるのでしょうか。

質問者 おが  [削除]  投稿日 9/25(火) 23:28:25
しあわせのツボさんへありがとうございます
このように改良してみました。
これならページも表示されokなのですが!

$view_page = int($FORM{'FF'} / $page + 1);
if ($FF == $Index[$_] || ($FORM{'FF'} eq '' && $_ == 0)) { print " <b>$view_page</b>"; $page_now = $view_page; }
print " <a href=\"auction.cgi?action=$FORM{'action'}&$buf&IDX=$idx&FF=$Index[$view_page]\">次のページへ</a>";

実はi-モードにも対応させています。
いままでの[1234567...]リンクも増えて
i-モードでは1ページのサイズが大きくなりすぎると表示されなくなります
したがって
この方法で良いと思ったのですが。

問題です!
最後のページを見るまでに何度も[次のページへ]をクリックしなければイケナイです。
パケット料金もかさみます。
1ページのサイズも大きくならず
何か良い方法はないものでしょうか?


返信(回答)する


Web裏技