这是我的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”将在mod_rewrite enable(http://www.example.com/page0/)
中加载到url中请注意,网址不同。我的问题是我如何制作一个Prev / Next链接转到下一个或上一个数组,如果它是第一个隐藏Prev链接,最后隐藏下一个链接。
答案 0 :(得分:3)
foreach($pageOK as $key => $val){
if($key == $_GET['projet']){
$next = key($pageOK);
break;
}
$prev = $key;
}
$next
和$prev
包含数组键。
答案 1 :(得分:0)
我认为,只需从$ _GET ['项目']获取数字,减少/增加应该是你想要的。如果您将'page0'更改为数字'0',则可以简化此问题。
答案 2 :(得分:0)
所以..实际上这是糟糕的结构。您可以将您的数组放到像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并创建页面控制器
,则会好得多