我有这个简单的数组,我想添加一个分页,显示数组中的内容为2。
页数取决于数组内部的数量。
此链接"<<"显示第一页和此链接">>"显示最后一页。
这是我的代码:
任何解决方案或想法的人?
$arr = array( "coffeebean" => "coffee",
"sansrival" => "cakes",
"Kylo ren" => "starwars",
"2story" => "koreanfoods",
"mooon" => "moon",
"barak"=>"obama"
);
//display
display($arr);
function display($arr){
foreach($arr as $key => $val){
echo "{$key} = {$val}";
echo "<br>";
}
}
答案 0 :(得分:1)
Let me explain you logic:
1)将数组计数到变量中。
2)从上面变量计算页数。
3)在记录下方显示分页href链接。
4)如果页码无效,则显示找不到页面错误。
<?php
$arr = array("coffeebean" => "coffee", "sansrival" => "cakes", "Kylo ren" => "starwars", "2story" => "koreanfoods", "mooon" => "moon", "barak" => "obama");
// display
$page = isset($_REQUEST['page']) && $_REQUEST['page'] > 0 ? $_REQUEST['page'] : 1;
function display($arr, $page = 1) {
$start = ($page-1) * 2;
$arr = array_slice($arr, $start, 2);
foreach ($arr as $key => $val) {
echo "{$key} = {$val}";
echo "<br>";
}
}
$len = count($arr);
$pages = ceil($len/2);
if ($page > $pages OR $page < 1) {
echo 'page not found';
}
else {
display($arr, $page);
for ($i=1; $i<=$pages ; $i++) {
$current = ($i==$page) ? TRUE : FALSE;
if ($current) {
echo '<b>'.$i.'</b>';
}
else {
?>
<a href="?page=<?php echo $i;?>"><?php echo $i;?></a>
<?php
}
}
}