Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Automatisch Bilder rotieren mit PHP oder anderem

Einklappen

Neue Werbung 2019

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

  • Auran
    hat ein Thema erstellt [Erledigt] Automatisch Bilder rotieren mit PHP oder anderem.

    [Erledigt] Automatisch Bilder rotieren mit PHP oder anderem

    Hallo liebe Community.

    Folgendes: Ich erstelle mit HTML, CSS und natürlich der PHP-echo Ausgabe einen Banner.
    Ich habe dazu noch die Variable $bannerid und dazugehörige if-Struktur:

    PHP-Code:
    <?php
    $img1 
    "diabloIII.png";
    $img2 "armaIII.png";
    $img3 "guildwars.png";
    $img4 "wildstar.png";
    $img5 "teso.png";
    $img6 "minecraft.png";
    $imgheight "88px";
    $unterbrechung 5;
    $bannerid 2;

        echo 
    '
            <div id="banner">
                <div class="tl">'
    ;
                    if (
    $bannerid == "1") {
                        echo 
    '<img src="',$img1,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "2") {
                        echo 
    '<img src="',$img2,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "3") {
                        echo 
    '<img src="',$img3,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "4") {
                        echo 
    '<img src="',$img4,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "5") {
                        echo 
    '<img src="',$img5,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "6") {
                        echo 
    '<img src="',$img6,'" style="height:',$imgheight,'; width: auto;"/>';
                    };
        echo 
    '
                </div>
                <div class="tr">'
    ;
                    if (
    $bannerid == "1") {
                        echo 
    '<img src="',$img6,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "2") {
                        echo 
    '<img src="',$img1,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "3") {
                        echo 
    '<img src="',$img2,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "4") {
                        echo 
    '<img src="',$img3,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "5") {
                        echo 
    '<img src="',$img4,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "6") {
                        echo 
    '<img src="',$img5,'" style="height:',$imgheight,'; width: auto;"/>';
                    };
        echo 
    '
                </div>
                <div class="br">'
    ;
                    if (
    $bannerid == "1") {
                        echo 
    '<img src="',$img5,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "2") {
                        echo 
    '<img src="',$img6,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "3") {
                        echo 
    '<img src="',$img1,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "4") {
                        echo 
    '<img src="',$img2,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "5") {
                        echo 
    '<img src="',$img3,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "6") {
                        echo 
    '<img src="',$img4,'" style="height:',$imgheight,'; width: auto;"/>';
                    };
        echo 
    '
                </div>
                <div class="bl">'
    ;
                    if (
    $bannerid == "1") {
                        echo 
    '<img src="',$img4,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "2") {
                        echo 
    '<img src="',$img5,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "3") {
                        echo 
    '<img src="',$img6,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "4") {
                        echo 
    '<img src="',$img1,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "5") {
                        echo 
    '<img src="',$img2,'" style="height:',$imgheight,'; width: auto;"/>';
                    }
                    elseif (
    $bannerid == "6") {
                        echo 
    '<img src="',$img3,'" style="height:',$imgheight,'; width: auto;"/>';
                    };
        echo 
    '
            </div>'
    ;
    ?>
    Wenn ich die bannerid manuell ändere und die Seite neu lade, passt sich alles super an. Kein Problem.

    Aber natürlich will ich das ganze noch automatisch. Ich habe es schon mit einer for-Schleife probiert, das einzige, was ich dabei aber erreichte, war eine Seite, die lud, lud und lud.

    Habt ihr noch Ideen?

    LG,
    Auran

  • Auran
    antwortet
    Okay. Denn Notepad++ nutze ich ja schon ^^ Und mir ist nichts aufgefallen.

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    http://www.php.de/php-einsteiger/101...something.html

    Bietet glaub ich ne gute Auflistung aller Programme.

    Einen Kommentar schreiben:


  • Auran
    antwortet
    Hmm. Meinst du etwas, wie Notepad++ ?

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    Zitat von Auran Beitrag anzeigen
    1. Danke. Habe ich schon gesehen. Das meinte ich auch mit "da werde ich mich nochmal umschauen".

    2. Danke. Ich verstehe echt nicht, warum ich das nicht gefunden habe. Ich habe mich mit dem Code wirklich ausführlich beschäftigt. Aber offensichtlich nicht genügend ausführlich.


    Dann ist soweit alles klar. Danke.
    Wenn ihr mir bei einer Sache noch helfen können, wäre ich euch allerdings noch sehr verbunden: Wie kann ich ein Bild bzw. ein anderes Objekt in einem div-Tag vertikal zentrieren. Da ich die Höhe des Bildes und die Höhe des Tags kenne, dachte ich: Kein Problem: margin-top und margin-bottom und das passt. Aber falsch gedacht. Es passiert nichts. Auch gab es irgendwo im Netz mal was mit vertical-align im Tag, aber das hat auch nicht funktioniert. Hat jemand zufällig einen Denkanstoß parat?
    Denn horizontal zentriert habe ich es lustigerweise ja schon.
    Nimm nen Editor oder ne IDE mit anständigem Syntax Highlighting, dann fällt sowas direkt auf. Manche IDEs zeigen dir sogar nen Fehler an.

    Einen Kommentar schreiben:


  • Auran
    antwortet
    1. Danke. Habe ich schon gesehen. Das meinte ich auch mit "da werde ich mich nochmal umschauen".

    2. Danke. Ich verstehe echt nicht, warum ich das nicht gefunden habe. Ich habe mich mit dem Code wirklich ausführlich beschäftigt. Aber offensichtlich nicht genügend ausführlich.


    Dann ist soweit alles klar. Danke.
    Wenn ihr mir bei einer Sache noch helfen können, wäre ich euch allerdings noch sehr verbunden: Wie kann ich ein Bild bzw. ein anderes Objekt in einem div-Tag vertikal zentrieren. Da ich die Höhe des Bildes und die Höhe des Tags kenne, dachte ich: Kein Problem: margin-top und margin-bottom und das passt. Aber falsch gedacht. Es passiert nichts. Auch gab es irgendwo im Netz mal was mit vertical-align im Tag, aber das hat auch nicht funktioniert. Hat jemand zufällig einen Denkanstoß parat?
    Denn horizontal zentriert habe ich es lustigerweise ja schon.

    Einen Kommentar schreiben:


  • erc
    antwortet
    Zitat von Auran Beitrag anzeigen
    3. Das ganze funktioniert nicht automatisch (da werde ich mich nochmal etwas umschauen).
    Da stehen schon zwei Lösungsansätze im Thread. Einmal Komplet in Javascript oder mit AJAX.

    Zitat von Auran Beitrag anzeigen
    4. Das Hintergrundbild von #banner wird nicht angezeigt.
    Der Tipp mit Firebug ist schon gekommen. Ansonsten kannst du sowas auch eingrenzen. Der HTML Code der erzeugt wird ist der selbe, das CSS ist das selbe, an den Bildern hast du nix geändert, PHP hat kein Einfluss auf die Darstellung im Browser. Warum funktioniert es dann nicht? Vielleicht ist doch was anderes... irgendwas am HTML gemacht? Ja. Irgendwas im CSS gemacht? Nein. Irgendwas an den Bildern gemacht? Nein. Irgednwas an PHP gemacht? Ja. Da PHP aber kein Einfluss auf das Problem hat bleibt erstmal nur der HTML Code übrig. Also HTML kontrollieren... ->
    Code:
    id=banner"
    Zitat von rkr Beitrag anzeigen
    OT: Gewöhne dir am besten früh an, CSS mit SCSS (Empfehlung), LESS oder anderen zu erstellen. Das kann zu drastischen Codezeileneinsparungen und zu einer wesentlich besseren Codestruktur führen
    Was ist den nun schon wieder SCSS? Ach, die sinnvolle Version von SASS (da CSS kompatibel)... was es nicht alles gibt. Ist aber auf jedenfall sinnvoll, egal ob SASS/SCSS oder LESS. Das ist aber auch keine Garantie für sauberes CSS, es besteht eher die Gefahr das das CSS damit aufgeblasen wird. (das ist aber die Vorteile wert) Bei dem CSS hier im Thread sehe ich aber auch mit LESS oder SASS schwarz.

    Einen Kommentar schreiben:


  • rkr
    antwortet
    OT: Gewöhne dir am besten früh an, CSS mit SCSS (Empfehlung), LESS oder anderen zu erstellen. Das kann zu drastischen Codezeileneinsparungen und zu einer wesentlich besseren Codestruktur führen

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    Nutz Firebug oder ähnliches... Anhand von CSS-Code kann keiner dein Problem eingrenzen. Wird das Bild überhaupt geladen, gibt es das Bild. etc.

    Einen Kommentar schreiben:


  • Auran
    antwortet
    Okay. Ich fasse mal zusammen:
    1. Die Bilder werden an der richtigen Stelle angezeigt.
    2. Die Bilder wechseln beim neuladen.
    3. Das ganze funktioniert nicht automatisch (da werde ich mich nochmal etwas umschauen).
    4. Das Hintergrundbild von #banner wird nicht angezeigt.

    Ich poste vielleicht noch das externe Stylesheet (eingebunden ist es natürlich).
    Code:
    #banner {
        position: absolute;
        width: 1049px;
        height: 203px;
        margin-left: 107px;
        margin-top: 42px;
        margin-right: 1156px;
        margin-bottom: 245px;
        background-image: url(banner.png);
        background-repeat: no-repeat;
        }
    
    .tl > img .bl> img {
        position: absolute;
        max-width: 255px;
        vertical-align: middle;
        }
    
    .tr > img .br > img {
        position: absolute;
        max-width: 208px;
        vertical-align: middle;
        }
        
    .tl {
        position: relative;
        margin-left: 0px;
        margin-top: 0px;
        height: 98px;
        width: 255px;
        text-align: center;
        float: left;
        }
        
    .tr {
        position: relative;
        margin-left: 690px;
        margin-top: 0px;
        height: 98px;
        width: 308px;
        text-align: center;
        }
        
    .bl {
        position: absolute;
        margin-left: 0px;
        margin-top: 0px;
        height: 98px;
        width: 255px;
        text-align: center;
        float: left;
        }
        
    .br {
        position: absolute;
        margin-left: 690px;
        margin-top: 0px;
        height: 98px;
        width: 308px;
        text-align: center;
        float: left;
        }
    Habt ihr da eine Idee? Ich erkenne da keinen Fehler. Vor Allem habe ich den CSS-Code von #banner ja nicht geändert...

    Versteht ihr jetzt, was mein Problem ist?
    Sonst funktioniert ja alles, wofür ich euch echt dankbar bin. Aber da nage ich echt rum und komme kein Stück weiter.

    LG,
    Auran

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    Zitat von Auran Beitrag anzeigen

    Ich hoffe, du kannst mir verzeihen, dass ich die falschen Worte gewählt habe, und würde mich freuen, wenn du vielleicht noch eine Idee hast. Für eine Lösung natürlich
    Aber keiner hier weiß, wo dein Problem liegt. Was geht nicht. Der Code sollte so funktionieren, wie du es wolltest.

    Einen Kommentar schreiben:


  • Auran
    antwortet
    Erc. Tut mir Leid, wenn das so rüber gekommen ist. Ich meine nicht, dass ihr meine Arbeit machen müsst. Mich interessiert sehr wohl die Lösung, bin aber nicht darauf gekommen. Der array_shuffle existiert nicht, da es ihn nicht gibt. Es gibt nur shuffle(), was ich jetzt auch noch eingetragen habe.
    Das Hintergrundbild wird aber immer noch nicht angezeigt (und ich habe schon überlegt, warum).

    Ich hoffe, du kannst mir verzeihen, dass ich die falschen Worte gewählt habe, und würde mich freuen, wenn du vielleicht noch eine Idee hast. Für eine Lösung natürlich

    Einen Kommentar schreiben:


  • erc
    antwortet
    Zitat von Auran Beitrag anzeigen
    Sry, aber wie wäre es mit einem netteren Umgangston?
    Und du meinst uns deine Arbeit machen zu lassen ist nett? Wir geben Hilfe zur Selbsthilfe und sind nicht deine Code-Sklaven. Du hast gezeigt das du überhaupt kein Intresse an der Lösung hast, dich interessiert nur das Ergebnis. Hättest du nur eine Minute nachgedacht hättest du nicht diese Frage stellen müssen. Hättest du den Code versucht zu verstehen würde da jetzt nicht das array_shuffle fehlen. (Wobei mir grade klar gewurden ist warum es fehlt.)

    Einen Kommentar schreiben:


  • Auran
    antwortet
    Das habe ich schon verstanden. Das war auf das #banner bezogen. Und auf das background-image.

    Einen Kommentar schreiben:


  • Geromel
    antwortet
    Deine Lösung kannst du halt nicht nach X sekunden neu anordnen. Deswegen würde ichs per JS machen, außer du bist damit zufrieden, dass sich die Bilder nicht ständig neuanordnen.

    Einen Kommentar schreiben:

Lädt...
X