Zur Navigation

vor und zurück bei pagination

1 webuser

Hallo,
die Steuerung vor und zurück zeigt auf die falsche Seite. Bei meinem Beispiel ist die current Seite -menutest.php-. Wenn man dann auf -vor- geht wird
-eins.php- ausgewählt, Das müßte aber -vier.php- sein.

Wenn man auf zurück geht, müßte das -zwei.php- sein. Die Steuerung geht aber auf sich selber -menutest.php-

<?php
     $alleDateien = array(
          'index.php' => 'home',
          'eins.php' => '1',
          'zwei.php' => '2',
          'menutest.php' => '3',
          'vier.php' => '4',
          'fuenf.php' => '5',
          'sechs.php' => '6'
     );


  $schluessel = array_keys($alleDateien);

   
    $dateiname = end( explode ("/", $_SERVER['PHP_SELF'] ) );

    
    $position = array_search( $schluessel, $dateiname );

    
    if ( $dateiname != reset ( $schluessel )  ) {
        echo '<a href="'.$schluessel[ $position - 1 ].'">zurück</a> ';
    }

     foreach( $alleDateien as $key => $value ) {
       if ( $dateiname == $key  ) {
         echo '<span class="current">'.$value.'</span>';   }
                 else {
         echo '<span class="normal"><a href="'.$key.'" >'.$value.'</a> </span>'; }
    }

        // Sind wir noch nicht am Ende?  Nein, dann gib das aus...
    if ( $dateiname != end ( $schluessel )  )
        echo '<a href="'.$schluessel[ $position + 1 ].'">vor</a> ';
 ?>

Gruß
uwe

27.07.2016 07:58

2 Jörg Kruse

Der erste Parameter von array_search() ist der zu suchende Wert ("needle"), der zweite das zu durchsuchende Array ("haystack"):

$position = array_search( $dateiname, $schluessel );

27.07.2016 10:02

3 webuser

Hallo,
wie kann ich bei dem Array noch die Info "title" mit angezeigt bekommen?
Es muss also noch ein 3.Stufe mit in das Array.

Gruß
uwe

28.07.2016 13:20

4 Jörg Kruse

Mit einem mehrdimensionalen Array:

$alleDateien = array(
    'index.php' => array('home', 'Startseite'),
    'eins.php' => array('1', 'Seite 1'),
    /* ... */
);


foreach ( $alleDateien as $key => $array ) {
    if ( $dateiname == $key ) {
        echo '<span class="current">'.$array[0].'</span>';
    } else {
        echo '<span class="normal"><a href="'.$key.'" >'.$array[0].'</a></span>';
    }
}

Auf den Titel kannst du dann über $array[1] zugreifen

28.07.2016 15:04

5 webuser

vielen Dank Jörg,
perfekt
Gruss
uwe

28.07.2016 18:55

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]