Bilder aus einer MySQL Datenbank auslesen

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

  • Bilder aus einer MySQL Datenbank auslesen

    Moin zusammen,

    ich habe da nen kleines Problem.

    Für eine Restaurantseite sollen im Admontool die Bilder verwaltet werden. Da der Chef des Restaurants keine Ahnung von HTMl oder ähnlichen hat, habe ich ihm ein kleines Admintool geschrieben. Dort soll er nun auch seine Bilder selber hochladen/löschen können.

    Gespeichert werden die Bilder in einer MySQL Datenbank, das klappt auch alles bestens.

    Nun habe ich ein kleines Script geschrieben, mit dem ich die Bilder auch wieder auslesen kann. Das haut auch alles hin, aber ich habe Probleme mit dem Header, wenn ich das Script in die Seite einbauen will.


    Mein Script zum auslesen der Bilder aus der Datenbank:

    <?php

    require ('./connect.inc.php');
    if($modul ==2)
    {
    $zeiger=mysql_query("select bin_data from binary_data where id=$id");
    $ergebnis=mysql_fetch_array($zeiger);
    print $ergebnis['bin_data'];
    }

    if($modul ==3)
    {
    $zeiger=mysql_query("select bin_data from binary_data where id=$id");
    while($ergebnis=mysql_fetch_array($zeiger))
    {
    print $ergebnis['bild'];
    }
    }

    ?>
    Wie gesagt, das klappt alles, aber auch nur auf einer "Blanko" Seite, denn sonst macht er mir Probleme mit dem Header. Das Resultat ist, daß ich das Bild Binär im Browser angezeigt bekomme.

    Hat jemand eine Idee oder sowas schonmal gemacht?

    Gruß

    Miguel

  • #2
    Re: Bilder aus einer MySQL Datenbank auslesen

    Original geschrieben von BlackCrow
    Hat jemand eine Idee oder sowas schonmal gemacht?
    beides

    und nicht nur ich alleine, sondern so viele leute, dass auch die suchfunktion was zutage bringen sollte

    du kannst, auch wenn du der 1.000.000.000.000.000.000te bist, nicht html und bilddaten mischen

    Code:
    <p>text</p>
    <img src="skript_zur_bildanzeige.php?bildid=5" />
    <p>mehr text</p>
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Ok, die Idee war schonmal sehr gut, aber ich bekomme lediglich ein [COLOR=red]x[/COLOR] angezeigt, also hat da schonmal was nicht geklappt. Muss man dafür vielleicht das Bild in einem bestimmten Format oder so speichern?


      Gruß

      Miguel


      P.S. Ich habe bereits die Suchfunktion benutzt und nichts gefunden was mir helfen konnte. Deswegen habe ich direkt einen Beitrag geschreiben.

      Kommentar


      • #4
        hast du auch einen passenden Content-type header vor den bilddaten ausgegeben ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          code zeigen

          Kommentar


          • #6
            Naja ich kann ja keinen anderen Header senden, der Header ist ja schon text/html weil ich den brauche um den Rest der Page richtig anzuzeigen.

            Der Code sieht aktuell so aus:

            if($id) {


            require ('./connect.inc.php');

            @mysql_select_db("binary_data");

            $query = "select bin_data,filetype from binary_data where id=$id";
            $result = @MYSQL_QUERY($query);

            $data = @MYSQL_RESULT($result,0,"bin_data");
            $type = @MYSQL_RESULT($result,0,"filetype");

            Header( "Content-type: $filetype");
            echo "<p>text</p><img src='upload.php?modul=2&id=5'</img>
            <p>mehr text</p>;";
            };
            ?>
            <br><br>
            <p>text</p>
            <img src="./upload.php?modul=2&id=5" />
            <p>mehr text</p>

            Und das ist die aus dem eigenen Script, welches die Daten auslesen soll:

            <?php

            require ('./connect.inc.php');
            if($modul ==2)
            {
            $zeiger=mysql_query("select bin_data from binary_data where id=$id");
            $ergebnis=mysql_fetch_array($zeiger);
            print $ergebnis['bin_data'];
            }

            if($modul ==3)
            {
            $zeiger=mysql_query("select bin_data from binary_data where id=$id");
            while($ergebnis=mysql_fetch_array($zeiger))
            {
            print $ergebnis['bild'];
            }
            }

            ?>
            Sieht alles etwas wirr aus, weil vieles doppelt ist, aber das mache ich immer wenn ich mit irgendetwas Probleme habe.


            Gruß

            Miguel

            Kommentar


            • #7
              upload.php darfst du nur verwenden, um das bild auszugeben und da kannst du natürlich einen content-type angeben, das ist je eine eigene datei und hat nichts mit der datei, in der du den img-tag hast, zu tun
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Ok, das habe ich nun verstanden, aber wie sieht das aus, wenn ich das später auf der Homepage anzeigen lassen will? Also ne ganz normale Seite mit Hintergrundgrafik und sowas. Da muss das Bild ja auch angezeigt werden wie soll ich das denn machen? Da kann ich das ja nicht mit upload.php machen. Sprich er muss das Bild aus der Datenbank irgendwie raus bekommen, und auch als Bild auf der Homepage anzeigen.

                Ich vermute bald, daß das nicht geht, hab ich recht?



                Gruß


                Miguel

                Kommentar


                • #9
                  das hatten wir doch aschon x-mal ...


                  du machst dir ein script, welches die bilddaten aus der DB ausliest, und nach entsprechendem content-type header ausgibt.
                  welches bild auszugeben ist, lässt sich ja beispielsweise über einen übergebenen parameter steuern.

                  und dann bindest du das bild halt über
                  <img src="bildscript.php?bildid=4711" ...>
                  oder in CSS über
                  background-image:url(bildscript.php?bildid=4711)
                  ein.

                  wo ist denn da jetzt bitte das problem ...?
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X