Ankündigung

Einklappen
Keine Ankündigung bisher.

Navigation ähnlich wie in phpBB

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Navigation ähnlich wie in phpBB

    Seit gestern Abend grüble ich darüber nach, wie ich eine ähnliche Navigation mache, wie im phpBB. So wie hier https://www.phpbb.de/community/viewf...f=73&start=325

    Jedenfalls komme ich nicht wirklich weiter, da ich nicht weiß wo ich ansetzen soll. Meine aktuelle Navigation für meine Galerie, setzt sich sich zusammen aus Bilder pro Seite und Bilder gesamt. Das Ganze wird dann über eine Schleife ausgegeben. Bei 100 Seiten wird es allerdings dementsprechend recht voll.

    6 Seiten ausgeben, stellt kein Problem dar, aber der Zähler läuft nicht weiter. Statt 5 6 7 8 steht da immer noch 1 2 3 4. Für Tipps bezüglich dieses Problems wäre ich dankbar.

  • #2
    Was du falsch machst, können wir ohne deinen Code nicht erkennen.
    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

    Kommentar


    • #3
      Du solltest dir mal diesen Link ansehen.

      Englischkenntnisse vorrausgesetzt.
      http://articles.sitepoint.com/articl...-data-database

      Kommentar


      • #4
        Problem an der Sache ist, dass die Galerie nicht über eine DB läuft.

        Kommentar


        • #5
          Gib nur nicht zuviele Informationen auf einmal preis
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Woher die Daten kommen, sollte relativ egal sein. Nur die Implementierung sieht dann entsprechend anders aus.
            [URL]http://hallophp.de[/URL]

            Kommentar


            • #7
              Zitat von Slikey Beitrag anzeigen
              Du solltest dir mal diesen Link ansehen.

              Englischkenntnisse vorrausgesetzt.
              http://articles.sitepoint.com/articl...-data-database
              Er sucht eine Blätterfunktion, was willst du da mit dem Parentmodell und Rekursiven Abfragen.

              @picco

              Deine Infos sind wahrlich sehr dürftig, wo kommen die Daten denn her? Wie weit steht es um deine PHP Kenntnisse? Hast du schon mal versucht etwas umzusetzen?

              Gruß Litter
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              [URL]http://www.lit-web.de[/URL]

              Kommentar


              • #8
                Hier meine bisherige Navigation

                PHP-Code:
                    for($i=1$i<=$seitenzahl$i++) {
                        if(
                $i!=1) echo " | "

                            echo 
                "<a href=\"gallery.php?&amp;pic=$pic&amp;page=$y\" ";
                        
                $y $y+$anzahl_bilder;

                    if(
                $y==$_GET['page']+$anzahl_bilder) echo 'style="text-decoration:underline;" '
                            echo 
                '>'.$i.'</a>';     
                        } 
                Im Grunde nichts dramatisches.

                $i sollte klar sein.
                $seitenzahl ist die Anzahl aller Bilder geteilt durch die Bilder, die pro Seite dargestellt werden.
                $y wird immer um die Anzahl der Bilder, die gezeigt werden sollen erhöht, damit die Navigation überhaupt funktioniert.

                @litterauspirna Ich bin zwar seit einigen Jahren mit PHP dran aber ich würde mich nicht als Profi sehen. Sonst könnte ich das wahrscheinlich hier lösen Umgesetzt habe ich noch nichts, da ich keine Idee habe bzw. nicht weiß, wie ich anfangen soll.

                Kommentar


                • #9
                  Zitat von picco Beitrag anzeigen

                  @litterauspirna Ich bin zwar seit einigen Jahren mit PHP dran aber ich würde mich nicht als Profi sehen. Sonst könnte ich das wahrscheinlich hier lösen Umgesetzt habe ich noch nichts, da ich keine Idee habe bzw. nicht weiß, wie ich anfangen soll.
                  Habe ich denn irgendwas in der Art geschrieben?

                  Wo kommen die Daten denn her, dass hast du immer noch nicht gesagt. Du schmeist irgend eine Schleife hier rein und erzählst mir was $seitenzahl ist die Anzahl aller Bilder durch die Anzahl Bilder pro Seite.

                  Wo definierst du die Anzahl der Bilder die Pro Seite angezeogt werden sollen?

                  Wo liest du die Daten aus die wo her kommen?

                  Wie und wo definierst du die Anzahl der Gesamtbilder?

                  Alles das fehlt und das sollte schon da sein wenn du schon paar Jahre an PHP arbeitest.

                  Gruß Litter
                  Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                  [URL]http://www.lit-web.de[/URL]

                  Kommentar


                  • #10
                    Das sollte auch kein Angriff sein oder Ähnliches. Das war lediglich eine Bemerkung von mir.

                    Die Anzahl der Bilder wird in einer Variable festgelegt. In diesem Fall also $anzahl_bilder. Damit kann ich festlegen wieviele Bilder pro Seite gezeigt werden sollen. Die Variable steht weiter oben im Script.

                    Die Daten werden aus Verzeichnissen in ein Array geladen. In diesem Fall sind es Bilder. Per array_slice() zeige ich nur X Bilder pro Seite an. Das funktioniert ja auch alles wunderbar.

                    Die Anzahl der Gesamtbilder zähle ich mit count().
                    $elements = count($dir);

                    $elements enthält somit die Gesamtzahl der Bilder.

                    Bei $seitenzahl habe ich mich ein wenig unglücklich ausgedrückt...
                    $seitenzahl = ceil($elements/$anzahl_bilder)

                    Ich denke, jetzt sollte alles gegeben sein.

                    Kommentar


                    • #11
                      Zeige doch einfach mal den gesamten Code der dazu gehört, ich habe keinen Bock dir alles aus der Nase zu zoehen. Wenn wir den ganzen Code sehen, dann wissen wir auch wo wir weiter helfen können.
                      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                      [URL]http://www.lit-web.de[/URL]

                      Kommentar


                      • #12
                        Alles klar. Hier das Script für die Galerie.

                        PHP-Code:
                        <? 
                        // Name aus der URL holen
                            $pic = $_GET['pic'];
                            
                        // Sicherheitscheck Galerie
                            $gal_check = array("name1", "name2", "etc.");

                            if(!in_array($pic, $gal_check, TRUE)) { echo "Fehler 404"; } else {
                        // Sicherheitscheck Galerie Ende

                        // Name der Galerie, gleichzeitig Name des Verzeichnisses
                            $name = $pic;

                        // Konfiguration
                            $anzahl_bilder = 45;

                        // Seitenzahl und Titel ausgeben
                            $seite = $_GET['page']/$anzahl_bilder+1;

                        // Bilder einlesen und sortieren
                            $dir = glob("img/$name/*.jpg");
                            
                            if ($pic == "anim") { $dir = glob("img/$name/*.gif"); }
                            natsort($dir);

                        // Gesamtzahl Bilder ermitteln
                            $elements = count($dir);

                        // Aktuelle Seite ermitteln, ggf. festlegen
                            $page = $_GET['page'];
                                if (!isset($page)) $page = 0;

                        // Array splitten     
                            $slice = array_slice($dir, $page, $anzahl_bilder);

                        // Ausgabe Bilder
                            foreach ($slice as $pics) {
                                $thumb = str_replace("img/$name/","img/$name/thumbs/",$pics);
                                        
                                // HTML Ausgabe

                                    echo "            <a href=\"".$pics."\" target=\"_blank\">";
                                    echo "            <img src=\"".$thumb."\">";
                                    echo "            </a>\n";            
                                    
                            }

                        // Anzahl Seiten ermitteln
                            $seitenzahl = ceil($elements/$anzahl_bilder);

                        // Navigation ausgeben
                                $y = 0;
                                for($i=1; $i<=$seitenzahl; $i++) {
                                    if($i!=1) echo " | "; 
                                            echo "<a href=\"gallery.php?pic=$pic&amp;page=$y\" ";
                                    $y = $y+$anzahl_bilder;
                                    if($y==$_GET['page']+$anzahl_bilder) echo 'style="text-decoration:underline;" '; 
                                            echo '>'.$i.'</a>';     
                                }

                            
                            // Blätterfunktion
                                $page_prev = $page-$anzahl_bilder;  
                                $page_next = $page+$anzahl_bilder;
                            
                        // Ausgabe Weiter/Zurück
                                if ($_GET['page']=="0" || $_GET['page'] =="") { echo "";} 
                                        else { echo "<a href=\"gallery.php?pic=$pic&amp;page=$page_prev\">Zurück</a>&nbsp;"; }
                                if ($_GET['page']+$anzahl_bilder>=$elements) { echo "";} 
                                        else { echo "&nbsp;<a href=\"gallery.php?pic=$pic&amp;page=$page_next\">Weiter</a>"; }
                            echo "";
                        }
                        ?>
                        Unnötige HTML-Ausgaben habe ich mal entfernt.

                        Kommentar


                        • #13
                          Hat jemand noch eine Idee?

                          Kommentar

                          Lädt...
                          X