ホームページ >バックエンド開発 >PHPチュートリアル >ページネーションに最初と最後のページを追加したい
<?php extract($_REQUEST); $n=0; $query=mysql_query("select count(*) as sm from jiaoshi"); mysql_query("set names 'GB2312'"); $row=mysql_fetch_array($query); $count=$row['sm']; if(empty($offset)) {$offset=0;} /*echo $offset;*/ $where = (! isset($surplus)) ? '' : " where surplus='$surplus'"; $query=mysql_query("select * from jiaoshi $where order by id asc limit $offset,$list_num") or die ("fail"); mysql_query("set names 'GB2312'"); while($row=mysql_fetch_array($query)){ if(($n%2)!='0'){ echo "<tr bgcolor=#CDE6C7>";} else{ echo "<tr bgcolor=#FFFFFF>"; } if($row['surplus']==0) $ss="不可选"; else $ss="可选"; echo" <td height='22' class='STYLE1'> <div align='center'> ".$row['id']." </div></td> <td height='22' class='STYLE1'> <div align='center'> ".$row['subject']." </div></td> <td height='22' class='STYLE1'> <div align='center'> ".$row['teacher']." </div></td> <td height='22' class='STYLE1'> <div align='center'> ".$row['zhicheng']." </div></td> <td height='22' class='STYLE1'> <div align='center'> ".$row['number']." </div></td> <td height='22' class='STYLE1'> <div align='center'> ".$row['xuehao']." </div></td> <td height='22' class='STYLE1'> <div align='center'>".$ss."</div></td> <td height='22' class='STYLE1'> <div align='center'> <a href=xiangxiziliao.php?id=".$row['id'].">查看</a></div></td> </tr> "; $n++; } ?>re
<?php $pages=ceil($count/$list_num); echo "<table width=740 border=0 cellspacing=0 cellpadding=0 align=center class='text'> <tbody> <tr> <td width='190'><font color='#ff0000'>目前共有".$count."条记录</font> </td> <td width='205'>共".$pages."页</td>"; if($offset){ $preoffset=$offset-$list_num; print "<td width='170'><a href=\"?offset=$preoffset\">上一页</a></td>";} else { echo "<td width='170'>上一页</td>"; } $newoffset=$offset+$list_num; if(($pages!=0)&&(($newoffset/$list_num)!=$pages)) { print("<td width='170'><a href=\"?offset=$newoffset\">下一页</a></td>"); } else{ echo "<td width='170'>下一页</td>";} $pageno=($offset/$list_num)+1; echo "<td width='112' class=text>第<input class=text type='text' size='4'value=".$pageno." readonly>页</td> <td width='4'> </td></tr></table>"; ?>
Print "7132e78032f8b041573fcdc4f19aa8c2ホームページ5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf322d5f4be215778542e7c595b08b060e3939a61c08ee1aa9b8effb8e46b02480前のページ 5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf";}
print("322d5f4be215778542e7c595b08b060ea12edd23f397f910cf90d231ac2069e9次のページ5db79b134e9f6b82c0b36e0489ee08ed b90dd5946f0946207856a8a37f441edf322d5f4be215778542e7c595b08b060ecdb390a99994b7500ab5b9dde9979683最後のページ5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf") ;
実際には 2 つのプリントがあります 文章の書き方が異なります... ああ、進歩の余地はたくさんあります
print("2ccaaba7bd4f650375736315b15a296d23c0e5ff00a6d2d1985e00753d3edc16次のページ5db79b134e9f6b82c0b36e0489ee08ed
2 つの print ステートメントは実際には異なる言語で書かれています残念ながら、最後のページについてはまだ改善の余地がたくさんあります。「最後のページ」をクリックすると、リストに 6 人が追加されました。ページ」では、システムはページ 6 のコンテンツを表示せず、リスト ヘッダーのみを表示し、ページ () に表示されているページはページ (6.666667) です。何が起こっているのでしょうか?
あなたの総ページ数は最後のページの数でもあります
ここでのあなたの総ページ数は $pages で、最後のページの数も $pages です
これを明確に計算する必要があります。小数点がある場合は追加してください1
$pages=ceil($count/$list_num); ここでの合計ページ数は正しいですが、$list_num を 0 にすることはできないと判断する必要があります
合計ページ数は最後のページ番号でもあります
合計ここの数値 ページ数は $pages で、最後のページ数も $pages です
これを明確に計算する必要があります。小数点がある場合は 1 を加えます
$pages=ceil($count/$list_num);ここの総ページ数は正しいです。はい、ただし、$list_num を 0 にすることはできないと判断する必要があります。申し訳ありませんが、私は初心者なので質問したいのですが、私の $list_num は以前は 30 に等しいと定義されていました。なぜやはり0にはならないと判断しなければならないのでしょうか?また、最後のページの記載はどのように書けばよいのでしょうか? >322d5f4be215778542e7c595b08b060ed4763ea534f5ee3e7e42cc91a1db6f8c最後のページ5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edfと書くと、(1.2)ページにジャンプします
あなたの総ページ数は最後のページの数でもあります
小数点 +1 がある場合は、これを明確に計算する必要があります
$ Pages=ceil($count/$list_num); ここでの合計ページ数は正しいですが、$list_num を 0 にすることはできないと判断する必要があります。申し訳ありませんが、私は初心者なので質問したいのですが、私の $list_num は以前は30 に等しいと定義されています。なぜ、それでも 0 であるはずがないと判断する必要があるのでしょうか。また、最後のページの記載はどのように書けばよいのでしょうか? >322d5f4be215778542e7c595b08b060ed4763ea534f5ee3e7e42cc91a1db6f8c最後のページ5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf と書くと、(1.2 ) ページにジャンプします
$pageno=($offset/$list_num)+1; なぜ一度計算する必要があるのでしょうか? テキストボックスのデフォルトを現在のページにするべきではないでしょうか?現在のページでなくても、ここで再計算すべきではないでしょうか?再計算する必要がある場合でも、整数を切り上げなければなりません
phpページの先頭に大きなコメントが表示されますが、それがどこに書かれているかを見つける方法は、
$pageno=($offset/$list_num)+1;
你这个干吗还要算一次呢?
你那个文本框里默认的不应该是当前页么?就算不是当前页,这里不应该重新算吧?就算要重新算,你也要取整数啊 那是不是我应该把这句去掉?
$pageno=($offset/$list_num)+1;然后把第$pageno页改成第$pages页?
$pageno=floor(($offset/$list_num)+1); //改成这样呢
$pageno=floor(($offset/$list_num)+1); //改成这样呢 嗯,跳到最后一页了,但是最后一页只显示列表的头
$pageno = ceil($offset/$list_num);
ceil 取得 大于等于 $offset/$list_num 的最小整数
$pageno = ceil($offset/$list_num);
ceil 取得 大于等于 $offset/$list_num 的最小整数 嗯,问题是这样的话,第1页显示的是第0页,我还是直接不要尾页这个功能了吧