[Variablen] Eine Frage zum Index eines Arrays...

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

  • [Variablen] Eine Frage zum Index eines Arrays...

    Hallo Leute, ich bin neu hier und habe mich eben grad erst angemeldet!
    Ich habe eine Frage zu Arrays...



    Eine Kurzbeschreibung zu meinem jetzigen Stand:

    Bisher lese ich vorhandene Dateien aus einem Verzeichnis aus. Diese Dateien sind alle *.jpg Dateien und ihr Name wird in einem Array namens $galerie gespeichert. (ihr seht schon, es geht um eine Bildergalerie :-))

    Je nachdem wieviel Dateien in dem beliebigen Ordner sind, wird auch der Arrayindex vorhanden sein...



    Nun zu meinem Vorhaben:

    Ich möchte nun eine Galerienavigation unterhalb des angezeigten Bilds haben, die den Arrayindex jeweils um 1 weiter"switcht"... Oder um 1 zurück, halt...


    Bisher habe ich das folgendermaßen versucht zu realisieren:

    if (isset($_GET['weiter'])) {
    echo ('<img src=" ' . next($galerie) . ' " alt usw..>');
    } else { echo ('<img src=" ' . $galerie[0] . ' " alt usw..>'); }

    <Und im href="index.php?weiter">

    Ich kann somit aber nur bis zum zweiten Bild weiterklicken, da die Variable $_GET ja nach dem ersten klick auf <a "weiter..." /a> gesetzt ist...


    Ich komme nicht mehr weiter und habe keine Idee wie ich das verwirklichen kann... Ich glaube der Ansatz ist schon ok, nur bin ich der absolute Newbie in PHP. Ein wenig Grundverständnis ist zwar schon vorhanden, doch es fehlt noch einiges um wirklich kreative zu sein...

    Eine Idee hatte ich dann noch; und zwar mit unset($_GET['weiter']) die Variable im ertsen If-Zweig zu löschen, aber dann geht gar nichts mehr...

    Ich brauche Hilfe, denn ich will nicht mehr auf vorgefertigte Scripte zurückgreifen, sondern es endlich mal selbst lernen... Ich hab mir zwar jetzt zwei Scripte angesehen in der Hoffung, dass ich irgendwie erkennen könnte wie die anderen das lösen, aber diese Scripte wurden über Thumbnails realisiert... Ich bracuhe Hilfe zu diesem aktuellen Wissensstand...

    LG Dennis
    Zuletzt geändert von hoerstube; 10.03.2006, 21:14.

  • #2
    PHP-Code:
    if (isset($_GET['weiter']))
       {
        
    $i $_GET['weiter'];           //aktuelles Bild
        
    if ($i <= $max)          //hier kann ne Abfrage rein, 
                                         //ob "weiter" möglich ist
        
    echo ('<img src=" ' $galerie[$i] . ' " alt usw..>'); //Bild anzeigen
        
    echo '<a href="index.php?weiter='.$i+1.'>weiter</a>';
        } 

    Kommentar


    • #3
      Erstmal danke für die schnelle Antwort! :-)

      Soweit ist mir das klar,
      das Array $_GET wird der Variable $i übergeben.
      nun wird geguckt ob die Variable am Ende des Arrays $galerie angekommen ist...

      Wenn $_GET jetzt um einen erhöht wird, was ist $_GET dann?
      weiter1?

      das Bild wird sozusagen immer nur an einer stelle in der index.php "included"...

      LG Dennis

      Kommentar


      • #4
        Klappt net

        $max ist leer...

        Wie würdet ihr das "über einen Link schrittweise durchblättern eines Arrayindex" lösen?

        LG Dennis

        Kommentar


        • #5
          der User klickt auf nen Link "index.php?weiter=1"
          (die Variable weiter enthält den Wert 1
          und das Bild Nr. 1 wird angezeigt,
          und die Variable weiter um eins erhöht:
          "index.php?weiter=2"

          klar ist $max leer - da ich ja nix reingeschrieben hab.

          ICH weiß ja schließlich nicht wieviel Bilder Du hast.

          Da muß dann ne Abfrage rein:

          wenn weiter = max
          -> weiter nicht mehr erhöhen
          -> weiter minus eins
          -> zurück anzeigen
          Zuletzt geändert von Koala; 10.03.2006, 22:08.

          Kommentar


          • #6
            Ok, aber ich möchte es so halten, dass ich vorerst nicht weiß wieviele Bilder in einem Ordner sind, also kann ich die Angabe des Index vergessen (Array['Bild1'] = ""...

            Ich komm darauf nich klar...

            LG Dennis

            Kommentar


            • #7
              die Anzahl der Bilder in Deinem array kriegst Du mit count() raus.

              Kommentar


              • #8
                Ja, das weiß ich! :-D

                also, dann:

                if (isset($_GET['weiter']))
                {
                $i = $_GET['weiter'];
                count($galerie) == $max;
                }

                if ($i <= $max) {
                echo ('<img src=" ' . $galerie[$i] . ' " alt usw..>'); //Bild anzeigen
                echo '<a href="index.php?weiter='.$i+1.'>weiter</a>';
                }


                Was verknüpfe ich denn $i mit dem Arrayindex??

                Kommentar


                • #9
                  du brauchst doch keine Verknüpfung zum Array,
                  du brauchst das Array nur für count()

                  allerdings bräuchtest Du zwei Links (weiter und zurück)

                  $i = $_GET['weiter'];
                  $max = count...

                  if $i = 0 -> nur weiter-Link ausgeben, $i+1
                  if $i = $max -> nur zurück-Link ausgeben, $i-1

                  else Bild anzeigen, zurück-Link ($i-1), weiter-Link($i+1)


                  deine bilder nummerierst Du ja nur durch: 0.jpg bis x.jpg

                  und dann:


                  echo ('<img src=".$i.'.jpg'." alt usw..>'); //Bild anzeigen

                  Kommentar


                  • #10
                    Danke, das ist verständlich!

                    Das Array wird ja durch die Dateinamen der Bilder gesetzt! Muss unbedingt eine integerzahl als Bildname vorhanden sein? Momentan heißen die Bilder 01.jpg, 02.jpg usw...

                    Kommentar


                    • #11
                      wär schon besser wenn Du die Bilder umbenennst,
                      dreht sich ja eh nur um die ersten 10 (0 bis 9).

                      Kommentar


                      • #12
                        um von 01 bis 100 zu gehen müsste man ein wenig mit print_f rumproboieren, oder?

                        Aber auf jeden Fall ein ganz dickes Danke, so spät am Wochenende noch Newbies zu helfen! :-)

                        Tschöss, und eben ein schönes Wochenende! :-D

                        Dennis

                        Kommentar

                        Lädt...
                        X