Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild einbinden

Einklappen

Neue Werbung 2019

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

  • Bild einbinden

    Hi ich habe folgendes PHP-Script;

    PHP-Code:
    <?php
    //Anzahl der angezeigten Einträge begrenzen
    $anzeigen=4;
    //Auslesen der Tabelle
    $tabellenname="br_news";
    $sql="SELECT autor, message, datum, titel, zeit, ID, dateityp, datei from $tabellenname ORDER BY ID DESC LIMIT ".$anzeigen;
    $link mysql_connect("xy""xy""xy");
    mysql_select_db("xy"$link);
    $result mysql_query($sql$link);
    for(
    $i=0;$i<mysql_num_rows($result);$i++)
    {
    $ergebnis[$i]=mysql_fetch_array($result);
    }
    ?>
    <html>
    <head>
    <title>news</title>
    <link href="style_main.css" rel="stylesheet" type="text/css">
    </head><body>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
    <td>
    <?php
    for($i=0;$i<count($ergebnis);$i++)
    {
    $text=nl2br($ergebnis[$i]['message']);
    echo 
    "<table border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"1\" width=\"100%\" bgcolor=\"#dbdbdb\"><tbody><tr><td 
    width=\"200\" class=\"table_text\">[b]‹"
    .$ergebnis[$i]['datum']." @ ".$ergebnis[$i]['zeit']."›[/b] (by ".$ergebnis[$i]['autor'].")</td><td 
    class=\"table_title\">[b]‹"
    .$ergebnis[$i]['titel']."›[/b]</td></tr>";
    echo 
    "<tr><td bgcolor=\"whitesmoke\" width=\"200\"></td><td class=\"table_text\" bgcolor=\"#eeeeee\"> ".$text." </td>
    </tr>"
    ;
    echo 
    "<tr bgcolor=\"#ffffff\"><td bgcolor=\"#ffffff\" class=\"table_text\">
    </td><td bgcolor=\"#ffffff\" class=\"table_text\"></td></tr></tbody></table>"
    ;
    }
    ?></td>
      </tr>
    </table>
    </body></html>
    Mit
    PHP-Code:
    <?php
    for($i=0;$i<count($ergebnis);$i++)
    {
    $text=nl2br($ergebnis[$i]['message']);
    echo 
    "<table border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"1\" width=\"100%\" bgcolor=\"#dbdbdb\"><tbody><tr><td 
    width=\"200\" class=\"table_text\">[b]‹"
    .$ergebnis[$i]['datum']." @ ".$ergebnis[$i]['zeit']."›[/b] (by ".$ergebnis[$i]['autor'].")</td><td 
    class=\"table_title\">[b]‹"
    .$ergebnis[$i]['titel']."›[/b]</td></tr>";
    echo 
    "<tr><td bgcolor=\"whitesmoke\" width=\"200\"></td><td class=\"table_text\" bgcolor=\"#eeeeee\"> ".$text." </td>
    </tr>"
    ;
    echo 
    "<tr bgcolor=\"#ffffff\"><td bgcolor=\"#ffffff\" class=\"table_text\">
    </td><td bgcolor=\"#ffffff\" class=\"table_text\"></td></tr></tbody></table>"
    ;
    }
    ?>
    Erstelle ich die Tabelle, in der die Datensätze ausgegeben werden sollen.
    Ich habe in meiner Datenbanktabelle auch noch eine Zeile, in der ich die
    dazupassenden Bilder speicher. Wie kann ich das Bild zu jedem Eintrag in
    die Tabelle einbinden?

  • #2
    Uff, was für ein grauenhafter Quellcode! Was sollen die ganzen \"? Warum benutzt du nicht einfach '? Und hier und da ein Zeilenumbruch mehr würde die Sache auch besser lesbar machen. Außerdem fehlt jegliches Einrücken.

    Stellt sich zuerst mal die Frage, wie deine Datenbank genau aussieht. Die Aussage
    Ich habe in meiner Datenbanktabelle auch noch eine Zeile
    ist unverständlich. Meinst du wirklich eine Zeile oder eher eine Spalte? Und in welchem Format ist das abgespeichert. Der Name der Datei oder ist das Bild binär in der DB (Würg).

    Gruß
    phpfan

    Kommentar


    • #3
      Die Datenbanktabelle sieht folgendermaßen aus.

      Kommentar


      • #4
        wie phpfan schon schreibt etwas wüste.

        Aber zum Thema Du kannst
        das Bild über die ID zu jedem Eintrag in
        die Tabelle einbinden.

        Übrigens würde ich Kollation umstellen also latin1_swedish_ci auf latin1_german_ci sonst wirst Du an anderer Stelle probleme bei der Darstellung mit Umlauten bekommen!

        Kommentar


        • #5
          schon kalr das ist ja auch nicht das problem. mein problem ist, dass ich nciht weiß mit welche code ich das Bild einbinden muss. Ich will das Bild in die leere Spalte in der Tabelle eintragen.
          PHP-Code:
          ..<tr><td bgcolor=\"whitesmoke\" width=\"200\"></td><td... 
          Ich habs schon probiert mit
          <img src=\"$ergebnis['datei']\"> Aber so gehts nicht

          Kommentar


          • #6
            Wie ich befürchtet habe, das Bild ist binär in der DB. Siehe dazu

            16.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
            http://www.php-faq.de/q/q-db-blob.html

            und beachte die weiterführenden Links, wenn du auf diesen Quatsch nicht verzichten kannst/willst.

            Gruß
            phpfan

            PS: Ich glaube nicht, dass hier jemand so blind ist und eine so große Grafik braucht, um das lesen zu können.

            Kommentar


            • #7
              Zitat von pit62
              Übrigens würde ich Kollation umstellen also latin1_swedish_ci auf latin1_german_ci sonst wirst Du an anderer Stelle probleme bei der Darstellung mit Umlauten bekommen!
              Das ist so nicht ganz richtig. In beiden Fällen ist der Zeichensatz Latin 1 (also ISO-8859-1).
              Die Angaben swedish_ci bzw. german_ci geben lediglich an, in welcher Reihenfolge sortiert wird: http://dev.mysql.com/doc/refman/5.0/...on-effect.html

              Kommentar


              • #8
                Zitat von xabbuh
                Zitat von pit62
                Übrigens würde ich Kollation umstellen also latin1_swedish_ci auf latin1_german_ci sonst wirst Du an anderer Stelle probleme bei der Darstellung mit Umlauten bekommen!
                Das ist so nicht ganz richtig. In beiden Fällen ist der Zeichensatz Latin 1 (also ISO-8859-1).
                Die Angaben swedish_ci bzw. german_ci geben lediglich an, in welcher Reihenfolge sortiert wird: http://dev.mysql.com/doc/refman/5.0/...on-effect.html
                Danke für den Tipp!
                Nur hatte ich das Problem, dass ich nach dem Umzug auf einen anderen Server alle!!! in der Datenbank vorkommenden Umlaute mit ? ersetzt wurden! Also ich möchte bemerken es hatte nichts mit der Eingabe der Daten zu tun sondern die Umlaute wurden nach dem Umzug bzb. nach dem übertragen der Db ersetzt. Nun habe ich diese Änderung gemacht und habe keine Probleme mehr (hoffe ich auf alle Fälle)

                Kommentar


                • #9
                  Zitat von pit62
                  Nur hatte ich das Problem, dass ich nach dem Umzug auf einen anderen Server alle!!! in der Datenbank vorkommenden Umlaute mit ? ersetzt wurden!
                  War vielleicht auf der einen Datenbank der Zeichensatz auf UTF-8 und auf der anderen auf Latin1 gestellt?

                  Kommentar


                  • #10
                    zum Thema :

                    PHP-Code:
                    <?php
                      header
                    ("Content-type: image/jpeg");
                      
                    $image imagecreatefromjpeg($ergebnis['datei']);
                      
                    imagejpeg($image);
                    ?>
                    So bekommst du ein Bild. Musst 's nur in ne Datei einbinden und die dann aufrufen.
                    Aber wie schon gesagt von phpfan .. ein Verweis zur datei reicht vollkommen.
                    Da brauchst den binärcode nicht



                    Kommentar


                    • #11
                      Zitat von M3g4Star
                      PHP-Code:
                      <?php
                        header
                      ("Content-type: image/jpeg");
                        
                      $image imagecreatefromjpeg($ergebnis['datei']);
                        
                      imagejpeg($image);
                      ?>
                      Das funktioniert, da $ergebnis['datei'] hierfür der Pfad zu einer Bilddatei sein müsste.

                      Richtig wäre:
                      PHP-Code:
                      <?php
                          header
                      ('Content-Type: image/jpeg');
                          print 
                      $ergebnis['datei'];
                      ?>

                      Kommentar


                      • #12
                        keines der beiden funktioniert...

                        Kommentar


                        • #13
                          inwiefern?

                          Kommentar


                          • #14
                            Zitat von winki
                            keines der beiden funktioniert...
                            Der Informationsgehalt ist ja mal wieder umwerfend...

                            Kommentar

                            Lädt...
                            X