ページング機能はできたのですが、よりコード内容を理解しようと思っており
ページング機能はできたのですが、よりコード内容を理解しようと思っており、疑問があります。
disp_log($page,$page,$max){・・・の第一$page、第二引数$pageが同じ値でデータを渡しておりますが、それぞれに代入される変数はユーザー定義関数内では同じ値として取り扱われるかと理解しており、disp_log($page,$max){でもいいような気がし、実際に実行すると前記と後期では実行結果が異なります。
よく理解できていないんですが、どなたかわかりやすいように教えてください。
<?php
//http://tenderfeel.xsrv.jp/php/639/
$logdata = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");
$count = count($logdata);//ログの数
$max = 3;//1ページあたりの表示数
$limit = ceil($count/$max);//最大ページ数
$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号
//↓ここの部分です。
function disp_log($page,$page,$max){
global $logdata,$count;
$start = ($page == 1)? 0 : ($page-1) * $max;
$end = ($page * $max);
/* 確認用
print "<p>";
print "count:".$count."<br>";
print "max:".$max."<br>";
print "start:".$start."<br>";
print "end:".$end."</p>";*/
print "<p>";
for($i=$start;$i<$end;$i++){
if($i>= $count){break;}
print $logdata[$i]."<br>";
}
print "</p>";
}
function paging($limit,$page,$disp=5){
//$dispはページ番号の表示数
$page = empty($_GET["page"])? 1:$_GET["page"];
$next = $page+1;//前のページ番号
$prev = $page-1;//次のページ番号
if($page != 1 ) {//最初のページ以外で「前へ」を表示
print '<a href="?page='.$prev.'">≪ 前へ</a>';
}
if($page <$limit){//最後のページ以外で「次へ」を表示
print '<a href="?page='.$next.'">次へ ≫</a>';
}
/*確認用
print "current:".$page."<br>";
print "next:".$next."<br>";
print "prev:".$prev."<br>";*/
}
/*
$limit = 10;//最大ページ数
$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号
paging($limit, $page);
*/
paging($limit,$page);
disp_log($page,$page,$max);
?>
お礼
有難うございます^^ 導入してみようと思います!