プロが教える店舗&オフィスのセキュリティ対策術

(PHP) データベースに hatena というテーブルがあります。

もしレコードが20件あり、<a href="./hatena.php?w=1">1</a> <a href="./hatena.php?w=2">2</a>という数字リンクを表示させるにはどうしたらよろしいのでしょうか?

よろしくお願いします。

A 回答 (6件)

こんにちは。



度々すいません。

新規にcntAllという変数を出して混乱してしまっているかもしれません。

こういう構文になると思ってください。
$cntAll = レコード総数;
for ( $i = 1; $i <= floor($cntAll/10); $i ++ ) {
 print "<a href=\"./hatena.php?w=$i\">$i</a>\n";
}
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

提示していただいたソースでばっちり表示できました。本当にありがとうございました。

お礼日時:2006/02/09 14:44

No4です、すいません。



for ( $i = 1; $i <= $cntAll; $i ++ ) {

でしたね。
    • good
    • 0

こんにちは。



応用利かせばいいのです。

cntAllには20件なら2、34件なら3と入ってきますよね。
そうしたら、1からcntAllまでの値を繰り返せれば、


for ( i = 1; i <= cntAll; i ++ ) {
print "<a href=\"./hatena.php?w=$i\">$i</a>\n";
}

いかがでしょうか。
    • good
    • 0

こんにちは。



>つまり レコード数×0.1をし小数点以降の数字は無視しでた数字のリンクを表示するものです。

割った数の小数点を切り捨てた値を取ればいいと思います。
(0.1かけてもどっちでも同じですが)
floorというのが小数点を切り捨てます。

PHPマニュアルとかお読みになってますか?一応参考先を載せておきます。

http://fol.axisz.jp/php/man/php/index.html
http://fol.axisz.jp/php/man/php/ref.math.html



// $allCnt(レコード数)を10で割った数の小数点を切り捨てた値をcntへ
$cnt = floor($allCnt / 10);

print "<a href=\"./hatena.php?w=$cnt">$cnt</a>

レコード件数取得等は省いています。

これでいかがでしょうか。

この回答への補足

回答ありがとうございます。

ごめんなさい、語学力が弱いのかうまく伝えることができませんでした。

ただレコードの数/10を表示するのではなく 20件あれば <a href="./hatena.php?w=1">1</a> <a href="./hatena.php?w=2">2</a> というリンクを 34件であれば <a href="./hatena.php?w=1">1</a> <a href="./hatena.php?w=2">2</a> <a href="./hatena.php?w=3">3</a>といった感じのリンクを表示したいと思っています。

よく掲示板の下にあるリンクのようなものです。PearのPagerを使用すればできると聞きましたが、今回はPearを使用せずに行いたいと思っています。

どうぞよろしくお願いします。

補足日時:2006/02/09 11:58
    • good
    • 0

こんにちは。



勝手に推測しますが、番号一覧のリンクを表示し、その番号を
キーにしたデータがDBにあるという感じで良いのでしょうか?
現状の質問だけですとレコード分、手でコピーして20個分タグを作ればよいのでは?となってしまいます。

例えば、

テーブル内のレコードは○件の時もあれば×件の時もある。

リンクとして表示する数字は1から順番にしたいが、wとして受け渡す
値は特定のカラムの値にしたい。
auto_incrementの値をwに入れるとした場合、レコードが無かったらどうするのか?
<a href="./hatena.php?w=1">1</a>
<a href="./hatena.php?w=3">2</a>(リンク表示を2にするのか3にするのか)

上に載せたのはあくまで例です。
もう少し、詳しくわからない事を載せて頂ければ回答がつきやすいと思います。

この回答への補足

分かりにくく質問してしまってすいません。

DB(MySQL)のテーブルにデータを置いています。例えばそのテーブルのレコード数が10ヶであれば1というリンクを、20ヶあれば2というリンク、50ヶあれば5というリンク、56ヶあればこれも60以上ではないので5といリンクを表示したいと思っています。

つまり レコード数×0.1をし小数点以降の数字は無視しでた数字のリンクを表示するものです。


どうぞよろしくお願いします。

補足日時:2006/02/09 11:18
    • good
    • 0

各レコードの内容を表示するページへのリンクを、


レコード数分作りたいということでしょうか?

質問の意図がよく分かりません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

大変すいませんでした。回答2に再度質問文を掲載いたしましたのでよろしくお願いいたします。

お礼日時:2006/02/09 11:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!