这是我的php代码
<?php
$pageOK = array('page0' => 'page0.php',
'page1' => 'content1.php',
'page2' => 'anotherContent2.php',
'page3' => 'anotherpagewithotherlink.php',
'page4' => 'blablabla.php',
'page5' => 'bleh.php',
'page6' => 'foo.php',
'page7' => 'bar.php');
if ( (isset($_GET['projet'])) && (isset($pageOK[$_GET['projet']])) ) {
include($pageOK[$_GET['projet']]);
}
?>
这将使在排序"index.php?Project =page0"将加载在url与mod_rewrite启用(http://www.example.com/page0/)
注意url是不同的。我的问题是如何使Prev/Next链接转到下一个或上一个数组,如果它是第一个隐藏Prev链接和最后一个隐藏Next链接。
foreach($pageOK as $key => $val){
if($key == $_GET['projet']){
$next = key($pageOK);
break;
}
$prev = $key;
}
$next
和$prev
保存数组键
我想,只是从$_GET['project']和减少/增加应该是你想要的数字。如果你把'page0'改成数字'0',这个问题就简化了。
so…实际上这是一个糟糕的结构。您可以将数组放入pages.php等公共文件中,并在每个页面上包含它。例如page0。php
require_once ('pages.php');
$page_name = 'bar.php';
$key = array_search($page_name, $pageOK);
if ($key !== FALSE)
{
$key_arr = array_keys($pageOK);
$index = array_search($key, $key_arr);
if (!empty($index))
{
buildLink($key_arr[$index-1], 'Prev page');
}
if ($index !== count($key_arr)-1)
{
buildLink($key_arr[$index+1], 'Next page');
}
}
pages.php的代码
$pageOK = array('page0' => 'page0.php',
'page1' => 'content1.php',
'page2' => 'anotherContent2.php',
'page3' => 'anotherpagewithotherlink.php',
'page4' => 'blablabla.php',
'page5' => 'bleh.php',
'page6' => 'foo.php',
'page7' => 'bar.php');
function buildLink($page, $anchor)
{
if (isset($pageOK($page)))
{
print '<a href="$root_url.$page">'.$anchor.'</a>';
}
}
但是如果你将页面数组移动到db并创建页面控制器