Image von der DB auf WebSite anzeigen

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

  • Image von der DB auf WebSite anzeigen

    Hallo,

    ich habe eine MySQL Tabelle die verschiedene Items beinhaltet wobei jede Zeile auch eine Spalte hat mit dem Typ longblob wo ein Image von dem Item gespeichert wird. Die Images befinden sich bereits in der DB, jetzt muss ich nur einen Weg finden, dieses Image auf der WebSite neben den anderen Details zu dem Item anzuzeigen bzw. das Bild in verkleinerter Form anzuzeigen. Weiß jemand wie ich das machen könnte?

    lg pat

  • #2
    Bzw. ist es effizienter in der DB neben dem Image in der Originalgröße auch das Image in verkleinerter Form abzuspeichern als die Bilder dann immer on-the fly zu verkleinern?

    Kommentar


    • #3
      Mmhh... Meiner Erfahrung nach ist es sinnvoller, Bilddaten generell extern abzulegen.

      Wenn Du aber bei der Struktur bleiben willst: Bilder bindest Du mittels eines PHP-Skriptes ein, das via <img src= eingebettet wird und das die Bilddaten ausliest und durchschleift.

      Unabhängig davon: On the Fly verkleinern geht natürlich mit den GD-Funktionen, ist aber sehr rechenintensiv. Lieber beim Befüllen einmal in den gewünschten Stufen ablegen.

      Kommentar


      • #4
        hi,

        ja ich muss leider die vorgegebene Struktur verwenden, also werde ich die Bilder auch alle noch einmal in verkleinerter Version in der DB abspeichern.

        Ich bin jetzt gerade beim Anzeigen der Bilder auf der Seite selber und kurz vor dem verzweifeln.

        Ich habe eine picture.php Seite erstellt mit folgendem Code:

        Code:
        <?php
        	
        	require '../db.inc.php';
          //This is a general error function that can be called
          function showerror()
           {
              die("Error " . mysql_errno() . " : " . mysql_error());
           }
        
          $query = "Select Image FROM product WHERE ProductId=1";
        
          // Connect to the MySQL server
          if (!($connection = @ mysql_connect($hostname, $username, $password)))
             die("Cannot connect");
        
          if (!(mysql_select_db($databaseName, $connection)))
             showerror();
        
          // Run the query on the connection
          if (!($result = @ mysql_query ($query, $connection)))
             showerror(); 
        
          // set the header for the image
          header("Content-type: image/jpeg");
          echo mysql_result($result, 0);
        
          // close the db link
          mysql_close($connection);   
        }
        ?>
        Und in der eigentlich HTML-Seite wird dann

        Code:
        <img src="picture.php">
        aufgerufen. Ich weiß, dass ist jetzt sehr statisch, aber ich wollte es nur mal testen. Die Sql Query stimmt sicher aber ich bekomm in dem Feld wo das Picture angezeigt werden soll immer nur dieses kleine Symbol links oben.

        weiß jemand was hier noch fehlt oder was ich falsch gemacht habe??

        lg matti

        Kommentar


        • #5
          Header wegmachen und Fehlermeldungen angucken.

          Kommentar


          • #6
            Hi,

            Ich habe jetzt

            //header("Content-type: image/jpeg");

            auskommentiert, aber Fehlermeldung kommt trotzdem keine. Ich habe jetzt auch mal am Anfang des php-Skripts vom picture.php ein echo gesetzt aber das wird auch nicht ausgegeben. Aber der src mit picture.php muss stimmen, da sowohl die Haupt-HTML-Seite als auch die picture.php sich im selben Verzeichnis befinden...??

            Kommentar


            • #7
              Original geschrieben von mathon
              aber Fehlermeldung kommt trotzdem keine.
              Und wo hast du nach solchen Ausschau gehalten ...?


              Hast du mal das Bildscript direkt in der Adresszeile aufgerufen ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Habe jetzt den Fehler gefunden, da hatte sich noch eine Klammer mit eingeschlichen, die habe ich entfernt und jetzt funktionierts.

                Also eurer Meinung nach ist es besser, wenn ich die Bilder einmal in der Originalgröße und einmal verkleinert in der DB abspeichere oder?

                lg mat

                Kommentar


                • #9
                  HI,

                  jetzt habe ich noch ein Problem: Ich möchte jetzt dynamisch Id's dem picture.php übergeben, jedoch stimmt anscheinend irgendwas an der Syntax dieser Zeile nicht:

                  Code:
                  print "<td> <img src=\"picture.php?id= . $productId . </td>";
                  In der Variable $productId ist immer die jeweilige Id gespeichert. Hat jemand eine Ahnung, was hier falsch läuft?

                  lg matti

                  Kommentar


                  • #10
                    Original geschrieben von mathon
                    Hat jemand eine Ahnung, was hier falsch läuft?
                    Hast du eine Ahnung, was du tust?

                    Wieso schaust du dir nicht den erzeugten HTML-Code an, dann siehst du doch schon, was falsch läuft.
                    Und wenn du mit Strings nicht umgehen kannst, dann lies im Manual nach.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      super antwort...aber ich dachte schon dass ich weiß wie man mit strings umgeht

                      print "<td> <img src=\"picture.php?id=\" . $productId . </td>";


                      kannst du mir nicht einfach sagen, was ich falsch gemacht habe..?

                      Kommentar


                      • #12
                        Also komm. Schau bitte mal in den erzeugten Quellcode, und Du siehst sofort, wo's klemmt. Daß Dich hier keiner mit der Nase draufstößt, ist nicht böse gemeint, sondern eine Investition in die Zukunft - damit Du nicht jedes Mal, wenn sowas ist, kommen muß.

                        Nimm Dir die Sekunde Zeit und schau Dir das Print-Ergebnis an.

                        Kommentar


                        • #13
                          Original geschrieben von mathon
                          super antwort...aber ich dachte schon dass ich weiß wie man mit strings umgeht
                          Siehst du, so kann man sich irren.

                          Und jetzt hör auf zu meckern, und mach stattdessen bitte das, was dir zur Ursachenforschung empfohlen wurde.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            aahh..habs schon, der tipp mit dem quelltext war gut... danke nochmal und sorry wegen dem sudern...

                            Kommentar

                            Lädt...
                            X