ページ数の表示について

[新着] Webテンプレートを仮オープンしました



0   名前: みほ : 2007/07/22(日) 13:42  ID:D1E4nzn/ sub-3e
下記のスレッドより移動してきました。
移動元:http://www.tagindex.com/cgi-lib/q2bbs/patio.cgi?mode=view&no=1389

こんにちは、はじめて投稿させていただきます。超初心者ですが、
わたしは今KENT-WEBさんのショッピングカートを設置しており、カスタマイズを心みております。
そこでよく見かける 1/2/3/全3ページ などと、ページ数を表示させたいのです。

現在、
open(IN,$logfile);
@log_kazu = <IN>;
close(IN);
$yousosuu = @log_kazu;
$pejisu = int($yousosuu/$pageView+1);
foreach(0..$pagesu){
print qq|<a href="$script?page=| .($_*$pageView) .qq|">$_</a>|;
}

上記のようなスプリクトを入れたのですが、商品が1個しか表示されなく、
ページも0/しかでないじょうたいです。(0をクリックすると前のページへはとびます。)
通常は1ページに50個表示されます。
ある情報でlogファイルの要素数を数えて表示数で割るとページ数が出ると教えていただきました。

ただ、要素数はどうやって数えればよいのでしょうか
どこを直せば通常どおり商品を50個表示することができるのか
どうすればページ数を0/1/2...と表示させることができるのか

初歩的な質問かと思いますが、どうかご回答していただければと思います。
よろしくお願いいたします。

1   名前: Newのり太 : 2007/07/22(日) 13:42  ID:xqxNvz7n sub-1h
# わざわざ移動されたのですが、レスがつかないようなので。

特定のプログラムに関する質問は、まず配布元で質問されてはどうですか。

KENT-WEBさんには、きちんとしたサポート掲示板が用意されていますし、プログラムに精通したサポーターさんが頻繁に出入りしておられるようですので、より早く問題が解決するかもしれません。

2   名前: NullPo : 2007/07/22(日) 13:42  ID:Z0FHbpib sub-ii
perlは苦手だけど答えてみるテスト。

$pageView
という変数が唐突に出てきているが、これは1ページに表示する数が代入されている、ということでよろしいですか。

$pejisu
という変数にページ数を代入したいのだと思いますが、上の仮定が正しければ、計算式が誤っています。
要素数/表示数 を、繰上げします。

foreachの構文が私の知る限りでは誤っています。
正直これは自信がないけど、以下のようにしてみては。
for ($pagesu = 1; $pagesu <= $pejisu; $pagesu++) {
  print qq(<a href="$script?page=$pagesu">$pagesu</a>/);
}
print qq(全$pageViewページ);

3   名前: NullPo : 2007/07/22(日) 13:42  ID:Z0FHbpib sub-ii
失礼、最後が間違ってた。

多分これでいける。
open(IN, $logfile);
@log_kazu = <IN>;
close(IN);
$yousosuu = @log_kazu;

$pejisu = &ceil($yousosuu / $pageView);

for($pagesu = 1; $pagesu <= $pejisu; $pagesu++) {
  print qq(<a href="$script?page=$pagesu">$pagesu</a>/);
}
print qq(全$pejisuページ);

#切り上げ関数
sub ceil {
  local($num) = @_;

  local($val) = 0;
  if($num > 0 && $num != int($num)) {
    $val = 1;
  }

  return int($num + $val);
}

4   名前: 匿名 : 2007/07/22(日) 13:42  ID:OsKhQZ13 sub-Cl
>>2
foreach間違ってないよ。
以下のサンプルを試してみて。
foreach(0..9){
	print $_;
}

5   名前: NullPo : 2007/07/22(日) 13:42  ID:1xQg6D.. sub-.G
>>4
ご親切にありがとう。
正直自信なかったが、やはり私が間違ってたか。

まぁどちらにせよ、$pagesuという変数には何も格納されていないから、動作することはない。

6   名前: みほ : 2007/07/22(日) 13:42  ID:zsJQSk1k sub-.G
ご回答ありがとうございます。
>>2 ありがとうございます。さっそく試してみましたが、
数字が全部表示されませんでした

ご回答くださったスプリクトを参考に自分でもう一回考えてみようと
思います。
今回はどうもありがとうございました

一覧へ戻る