PHPページャーの実装方法
現在使用しているPHPにページャーを付けたいと奮闘しているのですが、小生PHPはまだまだ初心者でうまくいきません。
下は管理画面より生年月日や時間を入力することにより、個人のプロフィール等を表示できる表示画面のPHPなのですが、仮に管理画面より100人分入力すると、表示画面に100人表示されてしまうため、それをページャーにて例えば10人分づつ表示するといったものに出来ればと思っております。
回答される方のためにどのようなことを記載しなければいけないのか等もあまり分からない状態で、下に記載している分で不十分かも知れないのですが、足らない分はご指摘を頂ければ可能な限りコメントにて記載させて頂きますのでどうぞよろしくお願いいたします。
PHP Version 5.2.11
-------------
<?php
$fc = 16;
mb_http_output("SJIS");
mb_internal_encoding("UTF-8");
ob_start( 'mb_output_handler' );
require_once('../Smarty.class.php');
// create object
$smarty = new Smarty;
// template, cache, configuration files
$smarty->template_dir = '../templates/';
$smarty->compile_dir = '../templates_c/';
$smarty->config_dir = '../configs/';
$smarty->display('i_header1.tpl');
if (file_exists("../1.txt")){
$file_data = file("../1.txt");
}
//
$arry_cnt = count($file_data)/$fc;
$i=0;
$j=0;
while($i<$arry_cnt){
if (ereg_replace("\n","",$file_data[$i*$fc+15]) == "1"){
$wait_data[$j][rank] = ereg_replace("\n","",$file_data[$i*$fc+0]);
$wait_data[$j][s_name] = ereg_replace("\n","",$file_data[$i*$fc+1]);
$wait_data[$j][old_years] = ereg_replace("\n","",$file_data[$i*$fc+2]);
$wait_data[$j][body_style] = ereg_replace("\n","",$file_data[$i*$fc+3]);
$wait_data[$j][work_time] = ereg_replace("\n","",$file_data[$i*$fc+4]);
$wait_data[$j][time_wait] = ereg_replace("\n","",$file_data[$i*$fc+5]);
$wait_data[$j][comment] = ereg_replace("\n","",$file_data[$i*$fc+6]);
$wait_data[$j][pic_path] = ereg_replace("\n","",$file_data[$i*$fc+7]);
$wait_data[$j][img_href] = ereg_replace("\n","",$file_data[$i*$fc+8]);
$wait_data[$j][name_href] = ereg_replace("\n","",$file_data[$i*$fc+9]);
$wait_data[$j][i_href] = ereg_replace("\n","",$file_data[$i*$fc+10]);
$diff = ereg_replace("\n","",$file_data[$i*$fc+11]);
if (ereg_replace("\n","",$file_data[$i*$fc+11]) > time()) {
$diff = ceil($diff - time());
$m_diff = ceil($diff / 60);
$h_diff = ceil($diff / (60*60));
$d_diff = ceil($diff / (60*60*24));
if ($m_diff <= 60) {
if ($m_diff <= 5) {
$wait_data[$j][time_wait] = '5分待ち';
} elseif ($m_diff <= 10) {
$wait_data[$j][time_wait] = '10分待ち';
} elseif ($m_diff <= 15) {
$wait_data[$j][time_wait] = '15分待ち';
} elseif ($m_diff <= 30) {
$wait_data[$j][time_wait] = '30分待ち';
} elseif ($m_diff <= 45) {
$wait_data[$j][time_wait] = '45分待ち';
} else {
$wait_data[$j][time_wait] = '60分待ち';
}
} elseif ($h_diff <= 24) {
$wait_data[$j][time_wait] = "".$h_diff . '時間待ち';
}
}
$j++;
}
$i++;
}
function cmp($a, $b)
{
return strcmp($a["rank"], $b["rank"]);
}
usort($wait_data, "cmp");
$i=0;
while($j>$i){
$smarty->assign("img_href", $wait_data[$i][img_href]);
$smarty->assign("pic_path", $wait_data[$i][pic_path]);
$smarty->assign("i_href", $wait_data[$i][i_href]);
$smarty->assign("name_href", $wait_data[$i][name_href]);
$smarty->assign("s_name", $wait_data[$i][s_name]);
$smarty->assign("old_years", $wait_data[$i][old_years]);
$smarty->assign("body_style", $wait_data[$i][body_style]);
$smarty->assign("work_time", $wait_data[$i][work_time]);
$smarty->assign("time_wait", $wait_data[$i][time_wait]);
$smarty->assign("comment", $wait_data[$i][comment]);
$smarty->display('i_wait2.tpl');
$i++;
}
$smarty->display('i_footer1.tpl');
?>
お礼
ありがとうございました。 確かにおっしゃるとおり「ensen_list.tpl」にヘッダーの記述がりました。 <!--start header--> {$S_header} <!--end header--> の部分をを消したものを別名ensen_list1.tpl」で保存して、 $smarty->display("../templates/ensen_list.tpl");の「ensen_list.tpl」の部分を「ensen_list1.tpl」に変更したらできました。 どうもありがとうございました。助かりました。