0

Hunter Fの回答に基づくと、私の問題の解決策はほぼ完了しています。ほんの2、3の微調整が必​​要です。

私はコードを少し変更し、ここで新しい質問を送信しました:php array help required-if current array item ='last or first item' then'do something'

オリジナルメッセージ:

ページのリストを循環するために使用できるPREVリンクとNEXTリンクを備えたシンプルなナビゲーションバーを作成できるようにしたいと考えています。ナビゲーションバーは、循環するすべてのページ内のphpインクルードになります。

したがって、出発点は、PREVNEXTリンクを使用して循環する必要があるページの配列を作成することだと思います。

そのような....

$projectlist = array(
        'http://domain.com/monkey/',
        'http://domain.com/tiger/',
        'http://domain.com/banana/',
        'http://domain.com/parrot/',
        'http://domain.com/aeroplane/',
);

リンクを並べ替えたり、追加したり、削除したりするオプションが欲しいのですが。したがって、このような自己完結型のマスターアレイを1つ持つことは、将来の追加のためにこの1つのリストを更新するだけでよいので、私には論理的な選択のように思えます。

リンク先の各ディレクトリには独自のindex.phpファイルがあるので、index.phpの部分は必要ないので、リンクの最後から外しました...それともそうですか?

...ここから続ける方法についてはかなり困惑しています。

現在表示している配列内のどのページを見つけて、それに基づいてPREVリンクとNEXTリンクを生成する必要があると思います。したがって、「http://domain.com/parrot/」から入力した場合は、関連するPREVページとNEXTページへのリンクが必要になります。

この次の段階で私を導くための助けや情報があれば幸いです。

4

1 に答える 1

1
$currentPath = explode('?', $_SERVER['REQUEST_URI']); //make sure we don't count any GET variables!
$currentPath = $currentPath[0]; //grab just the path
$projectlist = array(
        '/monkey/',
        '/tiger/',
        '/banana/',
        '/parrot/',
        '/aeroplane/',
);
if(! in_array($currentPath, $projectlist) ) {
    die('Not a valid page!'); //they didn't access a page in our master list, handle error here
}
$currentPageIndex = array_search($currentPath, $projectlist);

if($currentPageIndex == 0) { //if it's on the first page, we want them to go to the last page
    $prevlink = '<a href="'.$projectlist[ sizeof($projectlist)-1].'">Prev</a>';
} else { //otherwise just go to the n-1th page
    $prevlink = '<a href="'.$projectlist[$currentPageIndex-1].'">Prev</a>';
}


if($currentPageIndex  == sizeof($projectlist)-1 ) {     //if we're on the last page, have them go to the first page for "next"
    $nextlink = '<a href="'.$currentPageIndex[0].'">Next</a>';
} else {
    $nextlink = '<a href="'.$projectlist[$currentPageIndex+1].'">Next</a>';
}

考慮すべきことの 1 つは、リンク内のhrefターゲットを URL エンコードすることです。

于 2012-06-07T01:34:53.273 に答える