2011-08-19 73 views
0

這裏是我的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項目=頁0/0?」將在URL加載與mod_rewrite的支持(HTTP:// www.example.com/page0/)

請注意,url是不同的。我的問題是,如何讓上一個/下一個鏈接轉到下一個或前一個數組,如果它是第一個隱藏上一個鏈接,並且最後一個隱藏下一個鏈接。

+0

什麼是你的問題? – Rijk

+0

我的問題是我如何使上一個/下一個鏈接轉到下一個或上一個數組,如果它是第一個隱藏上一個鏈接,並且最後一個隱藏下一個鏈接。你不能讀它?這是最後一行! – Warface

+0

啊,對 - 對不起! – Rijk

回答

3
foreach($pageOK as $key => $val){ 
    if($key == $_GET['projet']){ 
     $next = key($pageOK); 
     break; 
    } 
    $prev = $key; 
} 

$next$prev包含數組鍵。

+0

就是這樣,這就是我想要的只是需要一些調整。 – Warface

+0

我已經注意到,當它到達最後一個數組時,它會循環第一個,當它是最後一個數組時,以任何方式隱藏$ next? – Warface

0

我想,只需從$ _GET ['project']中獲取數字,減少/增加應該是你想要的。如果您將「page0」更改爲數字「0」,則可以簡化此問題。

+0

是的,但網址現在是http://www.example.com/0/這是壞的,因爲我想用像http://www.example.com/programs/或http: //www.example.com/content/等... – Warface

+0

所以做一個可能的頁面數組,如果它在數組中,檢查頁面(www.example.com/page),如果它將然後iclude它和所以你不必有一個關聯數組 –

0

所以..實際上這是糟糕的結構。你可以把你的數組放在常見的文件中,比如pages.php,並且在每一頁上都包含它。因此,例如對於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>'; 
    } 
} 

但好得多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'); 
    } 

} 

代碼,如果你移動頁面的陣列數據庫,並創建頁面控制器

相關問題