1unitedpower: Mit foreach-Schleife in Tabelle ein Bild anzeigen

Beitrag lesen

function RenderStoreRow($row)
{
?> <tr>
    <td><img alt='***' src='<?= $row['bild'] ?>'></td>
    <td><?= htmlspecialchars($row['verkaeufer']) ?></td>
    <td><?= htmlspecialchars($row['name']) ?></td>
    <td><?= $row['kosten'] ?></td>
    <td><?= htmlspecialchars($row['kleidungsstueck']) ?></td>
    <td><?= $row['size'] ?></td>
    <td><?= $row['grade'] ?></td>
    <td><?= htmlspecialchars($row['firma']) ?></td>
    <td><?= htmlspecialchars($row['ort']) ?></td>
    <td><?= $row['erstellt_am'] ?></td>
   </tr>
<?php
}

$row['bild'] muss auch mit htmlspecialchars behandelt werden. In diesem konkreten Fall muss außerdem das Flag ENT_QUOTES gesetzt werden, weil das src-Attribut single Quotes verwendet und diese nicht standardmäßig maskiert werden. Alternativ kann man double Quotes für das src-Attirbut verwenden. Bei kosten, size, grade und erstellt_am ist die Maskierung nicht unbedingt notwendig, wenn der MySQL-Datentyp keine HTML-Sonderzeichen erlaubt. Es schadet aber auch nicht und ich würde daher alles maskieren. Als positiven Nebeneffekt sind die Spalten dann auch bündig und besser zu lesen.

function RenderStoreRow($row)
{
?> <tr>
    <td><img alt="***" src="<?= htmlspecialchars($row['bild']) ?>"></td>
    <td><?= htmlspecialchars($row['verkaeufer']) ?></td>
    <td><?= htmlspecialchars($row['name']) ?></td>
    <td><?= htmlspecialchars($row['kosten']) ?></td>
    <td><?= htmlspecialchars($row['kleidungsstueck']) ?></td>
    <td><?= htmlspecialchars($row['size']) ?></td>
    <td><?= htmlspecialchars($row['grade']) ?></td>
    <td><?= htmlspecialchars($row['firma']) ?></td>
    <td><?= htmlspecialchars($row['ort']) ?></td>
    <td><?= htmlspecialchars($row['erstellt_am']) ?></td>
   </tr>
<?php
}