Bild aus MYSQL lesen

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

  • Bild aus MYSQL lesen

    Hallo...habe ein script mit dem ich bisher ein sehr einfaches Gästebuch aus mysql lade....nun möchte ich ein zusätzliches kleines dazugehöriges bildchen ebenfalls per php anzeigen,

    bekomme aber jedesmal nur den ascii-code des bildes angezeigt..vielleicht habe ich probleme mit der formatierung?


    hier ist mein codeschnipsel:

    PHP-Code:
    echo"<table border=\"0\">";
    for(
    $i=0$i<mysql_num_rows($ResultPointer); $i++)
    {
        
    $Gaestebuch=mysql_fetch_object($ResultPointer);
        echo
    "<tr><td><b>",
            
    $Gaestebuch->Titel,



            
    "<img src=\"",
            
    $Gaestebuch->Bild,
            
    "\">",
            
    "</b></td>";
            
        
        
        echo
    "</tr>",
            
    "<tr>",
            
    "<td>",
            
    nl2br($Gaestebuch->Eintrag),
            
    "</td>",
            
    "</tr>",
            
    "<tr>",
            
    "<td>Eintrag von <b>",
            
    $Gaestebuch->Name,
            
    "</b> am <b>",
            
    substr($Gaestebuch->Datum82),
            
    ".",
            
    substr($Gaestebuch->Datum52),
            
    ".",
            
    substr($Gaestebuch->Datum04),
            
    " ",
            
    substr($Gaestebuch->Datum10),
            
    "</b></td>",
            
    "</tr>",
            
    "<tr>",
            
    "<td><hr></td>",
            
    "</tr>";


    weiss jemand rat?????

  • #2
    Ist $Gaestebuch->Bild nur der Pfad oder die binären Daten des Bildes ?
    Gerade noch gesehen, dass
    PHP-Code:
    "<img src=\"",
            
    $Gaestebuch->Bild,
            
    "\">",
            
    "</b></td>"
    Wohl keinen gültigen String zusammensetzt.
    Schon so probiert ?
    PHP-Code:
    "<img src=\"".$Gaestebuch->Bild."\"></b></td>"
    Strings werden mit . verknüpft und nicht mit ,

    Gruss

    tobi
    Zuletzt geändert von jahlives; 15.02.2007, 11:15.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Re: Bild aus MYSQL lesen

      Original geschrieben von Nullcheck
      bekomme aber jedesmal nur den ascii-code des bildes angezeigt..vielleicht habe ich probleme mit der formatierung?
      Nein - vermutlich eher mit dem Verständnis von HTML, HTTP und den Zusammenhängen und Abläufen beim Anfordern eines Bildes durch den Client.

      Übrigens ein hier bereits zigfach diskutiertes Thema (vornehmlich beim dynamischen Erzeugen von Bildern per Script).
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        also erstmal liegt das bild definitiv in der mysql datenbank
        und ist kein link zu einem bild!

        und der Versuch mit

        PHP-Code:
         echo"<tr><td><b>",
                
        $Gaestebuch->Titel;
                
            echo
        "<img src=\"".$Gaestebuch->Bild."\"></b></td>"
        bringt das gleiche ergebnis:

        titel(bildicon)ASCIITEXT des Bildes

        also leider noch nicht das bild was ich anzeigen lassen will

        Kommentar


        • #5
          Original geschrieben von Nullcheck
          bringt das gleiche ergebnis:

          titel(bildicon)ASCIITEXT des Bildes
          Natürlich, ist doch auch vollkommen logisch.
          also leider noch nicht das bild was ich anzeigen lassen will
          Überlege: Wie bindest du statische Bilder, die nicht aus der Datenbank kommen, in HTML ein?

          Schreibst du da etwa auch den binären Bildinhalt ins value des src-Attribut eines Img-Elementes? Nein? Wieso versuchst du es dann hier auf diese absurde Weise?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            also erstmal liegt das bild definitiv in der mysql datenbank
            und ist kein link zu einem bild!
            Und wie kommst du drauf, dass img im src-Attribute die binären Daten will ? Da kommt afaik nur eine Pfadangabe zum Bild rein
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              ok...aber ich hab doch keine pfadangabe zu dem bild....das ist ja in der datenbank

              Kommentar


              • #8
                Dann musste dir ne PHP Datei schreiben show_image.php, in welcher du mittels header die Bilddaten aus der DB einließt und dann die show_image.php?c=$bilddaten einbindest, wobei die $bildaten dann aus der DB kommen!

                EDIT: Wobei .. übergib nur die ID zum Bild und mach dann in der show_image.php ziehst du dir die BIlddaten raus, da ein QueryString wohl nur begrenzt lang sein darf...
                Liebe Grüße,
                SteKoe!

                PHP Tutorials
                Peter Kropff | Quakenet | Schattenbaum.net

                Kommentar


                • #9
                  habe jetzt mal folgendes versucht:

                  in der eigentlichen Datei:

                  PHP-Code:
                  for($i=0$i<mysql_num_rows($ResultPointer); $i++)
                  {
                      
                  $Gaestebuch=mysql_fetch_object($ResultPointer);
                      echo
                  "<tr><td><b>",
                          
                  $Gaestebuch->Titel;
                      echo 
                  $Gaestebuch->ID;    
                      echo
                  "<img src=\"showimage.php?id=".$Gaestebuch->ID."\"></b></td>"
                  und in der showimage.php
                  PHP-Code:
                  <?php
                  if (isset($_GET['id'])) 
                  {

                  hier sind die mySQL Daten einzufüllen
                  @mysql_connect("localhost""Datenbank""passwort");
                  @
                  mysql_select_db("Datenbank");

                  // Daten über das gewünschte Bild aus mySQL lesen
                  $sql "SELECT * FROM Gaestebuch WHERE ID = '".$_GET['id']."' LIMIT 1";
                  $result = @mysql_query($sql);
                  $row mysql_fetch_object($result);


                  // Dem Browser mitteilen, dass jetzt ein Bild kommt
                  header("Content-type: image/jpeg");

                  // Daten dekodieren und an den Browser senden
                  echo base64_decode($row->Bild);




                  ?>
                  jetzt wird nicht mehr der asciicode angezeigt sondern nur ein "bildplatzhalter" ..aber sonst nichts..

                  Kommentar


                  • #10
                    Du gehst aber schon noch mittels einer Schleife über das Resultat der DB Abfrage ? Woher kommt $row ?
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      äh..die schleife ist eigentlich in der ersten datei in showimage dachte ich springe ich direkt auf die row mit der entsprechenden ID
                      um das ganze abzukürzen...

                      oder liege ich da falsch?

                      Kommentar


                      • #12
                        Original geschrieben von Nullcheck
                        // Daten dekodieren und an den Browser senden
                        echo base64_decode($row->Bild);
                        Liegen die Bilder jetzt plötzlich Base64-kodiert in der DB? Davon war doch vorher keine Rede ...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          habs umgeschrieben auf

                          echo $row->Bild;

                          aber das gleiche verhalten.

                          Kommentar


                          • #14
                            äh..die schleife ist eigentlich in der ersten datei in showimage dachte ich springe
                            Wenn das zwei unterschiedliche Dateien sind, wie kommst du drauf dass Datei 2 eine Variable von Datei 1 kennen sollte ?
                            Also mach in der 2. Datei einfach mal
                            PHP-Code:
                            var_dump($row); 
                            und berichte.

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              weil ich meinte die mit

                              showimage.php?id=$Gaestebuch->ID

                              zu übergeben

                              Kommentar

                              Lädt...
                              X