J4v4Scr1pt
J4v4Scr1pt

Reputation: 303

Show picture from database don´t work

I wnt to show some pictures i have in a mysqli database, they are stored as blob. But all i get is a A4 page with wierd text..

this is my code that i use too show(i connect to my database above this code):

echo "<table border=1>\n";
/*echo "  <tr>\n";
echo "    <th>Bild</th><th>Namn</th><th>Betygsättning</th>\n";
echo "  </tr>\n";*/
while ($rad = mysqli_fetch_array($sql_result)) {
      echo "<tr>";
      echo "<td>";?> <img src="<?php echo $rad["Bild"]; ?>" height="100" width="100"> <?php echo "</td>";
      echo "<td>"; echo $rad["Namn"]; echo "</td>";   
      echo "</tr>";
}     
echo "</table>\n";

Upvotes: 0

Views: 43

Answers (2)

rekire
rekire

Reputation: 47945

If you really want to embed the image to the generated html you should write it as this here:

echo "<td>";?> <img src="data:image/jpeg;base64,<?php echo base64_encode($rad["Bild"]); ?>" height="100" width="100"> <?php echo "</td>";

Here again with a little more clean code:

echo "<table border=\"1\">\n";
while($rad = mysqli_fetch_array($sql_result)) {
    echo " <tr>\n";
    echo "  <td>\n";
    echo "   <img src=\"data:image/jpeg;base64," . base64_encode($rad["Bild"]) . "\" height=\"100\" width=\"100\" />\n";
    echo "  </td>\n";
    echo "  <td>" . $rad["Namn"] . "</td>";
    echo " </tr>\n";
}
echo "</table>\n";

It seem that you forgot also to close your img tag.

Upvotes: 1

SuperDJ
SuperDJ

Reputation: 7661

echo '<table border=1>';
/*echo "  <tr>\n";
echo "    <th>Bild</th><th>Namn</th><th>Betygsättning</th>\n";
echo "  </tr>\n";*/
while ($rad = mysqli_fetch_array($sql_result)) {
    echo '<tr>
            <td><img src="'.$rad["Bild"].'" height="100" width="100"></td>
            <td>'.$rad["Namn"].'</td>
          </tr>';
}

echo '</table>';

That should do it. While you are in a block of php code you can concatonate on it like above.

Upvotes: 0

Related Questions