Ankündigung

Einklappen
Keine Ankündigung bisher.

Banner Rotation

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Banner Rotation

    Hey,

    ich nutze ein Banner (z.b. von 1&1, der nur ein Link hat, ohne Bilddatei)!

    Ich möchte gerne z.b. 5 Banner nutzen, angezeigt werden soll immer nur einer, nach reload soll der nächste kommen.

    Ist dies mit HTML5 und CSS oder PHP möglich? Möchte wenn möglich auf JS verzichten.


    Hat jemand sowas zufällig?
    Lg Brause-Junior


  • #2
    Eine einfache Möglichkeit, alle Links/Bilder/Banner in ein Array packen, dass Array mischen und dann den ersten Eintrag auszugeben.

    PHP-Code:
    $banner = ['http://example.org/banner1.jpg''http://example.org/banner2.jpg''http://example.org/banner3.jpg'];
    shuffle($banner);

    echo 
    $banner[0]; 

    Kommentar


    • #3
      Wenn wirklich immer der nächste angezeigt werden soll musst du dir ja irgendwo merken welche zuletzt aufgerufen wurde. Vorstellbar wäre es jeden Aufruf als Counter in einer Datenbank zu speichern, dann brauchst du beim auslesen nur aufsteigend zu sortieren und den ersten Eintrag zu nehmen. Du musst dir dann aber überlegen, was passiert, wenn du neue Banner hinzufügst.
      You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

      Kommentar


      • #4
        Eine echte Rotation im Gegensatz zu einer zufälligen Ausgabe kannst du über ein serverseitiges Speichern realisieren (Datei, Datenbank).
        Habe für das Speichern hier mal eine Klasse genommen da es ausreichend um das Prinzip deutlich zu machen und für mich auch bequemer ist.
        PHP-Code:
        $banner = [
          
        'http://example.org/banner1.jpg',
          
        'http://example.org/banner2.jpg',
          
        'http://example.org/banner3.jpg'
        ];

        $store = new SQLiteObjectStore('mystore.sqlite');
        if(
        $store->exists('imgindex')){
          
        //Rotation
          
        $index $store->get('imgindex')+1;
          if(
        $index >= count($banner)) $index 0;
        }
        else {
          
        //Initialisierung
          
        $index 0;
        }
        $store->set('imgindex',$index);

        echo 
        $banner[$index]; 
        Edit: Anzeige nicht aktualisiert, #3 beim verfassen noch nicht gesehen.
        PHP-Klassen auf github

        Kommentar


        • #5
          Zitat von Brause-Junior Beitrag anzeigen
          nach reload soll der nächste kommen.
          Das würde wohl nur mit Session oder Cookies möglich sein, in dem du dort speicherst welches Bild(Bildnummer) gerade angezeigt wird.


          Kommentar


          • #6
            Vielen Dank für eure Antworten.
            Ich dachte das jemand ein fertiges Script hat bzw kennt, da ich bei php nur weiß wie man es öffnet und schließt.

            Ich habe folgendes gefunden:
            PHP-Code:
            <?
            $codes = array(
            "<a href=http://www.domain.de target=_blank><img src=ordner/bild.gif alt=text border=0></a>",
            "<a href=http://www.domain.de target=_blank><img src=ordner/bild.gif alt=text border=0></a>",
            "<a href=http://www.domain.de target=_blank><img src=ordner/bild.gif alt=text border=0></a>"
            );

            shuffle($codes);
            $i=0;
            $number=1; while(list(, $code) = each($codes)) {
            if ($i>=$number) { break; }
            echo "$code";
            echo '<br>';
            $i++;
            }
            ?>
            Leider habe ich nur links und keine Bilder.
            Kann das jemand umschreiben?
            Getestet habe ich es erfolgreich, es wird nach jedem reload ein anderer Link gesetzt aber müsste eben zu jedem Link ein Bild haben...
            Lg Brause-Junior

            Kommentar


            • #7
              Zitat von Brause-Junior Beitrag anzeigen
              Vielen Dank für eure Antworten.
              Ich dachte das jemand ein fertiges Script hat bzw kennt, da ich bei php nur weiß wie man es öffnet und schließt.
              Dann hast du im falschen Unterforum gepostet.

              Wenn du ein fertiges Script suchst, gehört das in die Scriptbörse und nicht ins Einsteiger-Forum. Ich verschiebe das mal für dich.

              Kommentar


              • #8
                Danke.
                Vielleicht kann hier auch jemand das Script umschreiben, denke müsste für Profis leicht sein, oder?
                Lg Brause-Junior

                Kommentar


                • #9
                  Diese Dienstleistung ist nicht Bestandteil des Forums, da missverstehst du was, egal wie einfach es ist. Ergo machst du das dann selbst bitte.

                  Kommentar


                  • #10
                    Zitat von protestix Beitrag anzeigen
                    Diese Dienstleistung ist nicht Bestandteil des Forums, da missverstehst du was, egal wie einfach es ist. Ergo machst du das dann selbst bitte.
                    Naja, dafür ist doch die Scriptbörse da, oder?

                    Kommentar


                    • #11
                      Weiss nicht ob ich es missverstehe.
                      Da steht als Unterthema: "PHP Lösungen für nen schmalen Taler".

                      Kommentar


                      • #12
                        Zitat von Brause-Junior Beitrag anzeigen
                        ..da ich bei php nur weiß wie man es öffnet und schließt.
                        Seit 2011 hier im Forum angemeldet und 65 Beitäge? Du machst Scherze ..

                        PHP-Klassen auf github

                        Kommentar


                        • #13
                          [MOD: Beiträge wiederhergestellt, Thema geschlossen]
                          Competence-Center -> Enjoy the Informatrix
                          PHProcks!Einsteiger freundliche Tutorials

                          Kommentar

                          Lädt...
                          X