Pagerを使って、mysqlからデータを取り出して、分割表示を行ない
Pagerを使って、mysqlからデータを取り出して、分割表示を行ないたい。
<?php
require_once("MYDB.php");
$conn = db_connect();
//検索 start//
$search_key="";
if(isset($_POST['search_key']))
$search_key = addslashes($_POST['search_key']);
$sql=<<<EOS
SELECT * FROM inscription
WHERE
site like '%$search_key%'
OR
url like '%$search_key%'
OR
fix like '%$search_key%'
OR
ex like '%$search_key%'
EOS;
if(preg_match("/Windows/",$_ENV["OS"])){
$sql=mb_convert_encoding($sql, "SJIS","EUC-JP");
}
$result=$conn->query($sql);
if(DB::isError($result)){
die($result->getMessage());
}
$count = $result->numRows();
//検索 end//
//☆☆ここにPearのPager☆☆導入//
if($count>0){
?>
<table border="1" cellspacing="0" cellpadding="10">
<tr>
<td width="530"><font size="2px">サイト名</font></td>
</tr>
<?php
while($rs=$result->fetchRow( DB_FETCHMODE_ASSOC )){
if(preg_match("/Windows/", $_ENV["OS"])){
$rs['site']=mb_convert_encoding($rs['site'],"EUC-JP","SJIS");
$rs['url']=mb_convert_encoding($rs['url'],"EUC-JP","SJIS");
$rs['ex']=mb_convert_encoding($rs['ex'],"EUC-JP","SJIS");
$rs['fix']=mb_convert_encoding($rs['fix'],"EUC-JP","SJIS");
}
?>
<tr><td width="530"><font size="2px"><a href="<?php echo $rs['url']?>" target="blank"><?php echo $rs['site']?></a></font></td></tr>
<?php
}
?>
</table>
<?php
}
$result->free();
$conn->disconnect();
?>
---------------------------------------------------------
上のプログラムは、リスト表示するデータです。
上の☆☆ここにPearのPager導入☆☆の所に以下の内容を入れて、1ページ20行程度のリストとして分割表示を行ないたいと思っています。
<?php
//Pager start//
require_once("Pager/Pager.php");
$options = array(
"totalItems" => 265,
"delta" => 10,
"perPage" => 20,
);
$pager =& Pager::factory($options);
$navi = $pager -> getLinks();
print($navi["all"]);
$currentPageID = $pager -> getCurrentPageID();
//Pager end //
?>
ただ単に導入しただけでは、
「1 2 3 4 5 6 7 8 9 10 Next >> 」と表示されるだけです。
どうすれば、分割表示できるようになるのでしょうか。
PHPに関しては、まったく知識がなく1,2冊程度の本を買って勉強した程度のレベルです。
正しい書き方等があればよろしくお願いいたします。
お礼
出来ました。