2017-01-22 3 views
-2

Ein kleines Problem. Bitte hilf mir. Ich möchte nur das ROW-Bild jeder ID in meiner Datenbank wiedergeben.Echo Bilddatei in Tag <img src=""> in PHP

hier ist ein Teil meiner PHP-Code

while ($row = $result->fetch_assoc()) { 
      // Print out the contents of the entry 
    echo "<img src='. $row["image1"] .'>"; 
    } 

Kann jemand helfen? Bitte und danke

+1

Code Highlight zeigt Ihr Problem. –

+0

was? @u_mulder – LecheDeCrema

Antwort

2

Versuchen Sie dies. Zuerst nehmen Sie Ihr Bild in Variable und dann src Ihres Bildes definieren.

while ($row = $result->fetch_assoc()) { 
      // Print out the contents of the entry 
    $image = $row['image1']; 
    echo "<img src='".$image."'>"; 
    } 
+0

warum runter bitte erklären? –

+0

Weil Ihr Code __obvioulsy__ Syntaxfehler hat. Und Code Hightlight zeigt wo. –

+0

Hallo Herr, es funktioniert, danke, aber bitte erklären Sie, wenn Sie eine Frage beantworten. Vielen Dank. – LecheDeCrema

-1

Die ursprüngliche Frage hat Syntaxfehler, die durch falsche Platzierung der einfachen und doppelten Anführungszeichen verursacht werden.

PHP können Sie Variablen wie $variable und auch $someArray['variable'] direkt in Doppel Strings in Anführungszeichen einzufügen, indem sie in geschweiften Klammern { und } umschließt.

Wenn ich HTML erzeuge, bevorzuge ich HTML-Markup, das doppelte Anführungszeichen für Attribute verwendet.

So mit der geschweiften Klammer Syntax Sie den Code von der Frage umschreiben lassen sich wie folgt:

1) Mit doppelten Anführungszeichen für das src = "" -Attribut entkommen sie mit einem Backslash

while ($row = $result->fetch_assoc()) 
{ 
    echo "<img src=\"{$row['image1']}\">"; 
} 

2) wenn Sie nicht gestört werden für Ihre HTML doppelte Anführungszeichen über die Verwendung von Attributen, dann können Sie auf

while ($row = $result->fetch_assoc()) 
{ 
    echo "<img src='{$row['image1']}'>"; 
} 

Alternativ vereinfachen, ohne die geschweifte Klammer Technik, die Sie brauchen nur die Reihenfolge der einfachen und doppelten Anführungszeichen richtig, so dass alle der folgenden gelten auch zu erhalten:

echo "<img src=\"" . $row['image1'] . "\">"; 

echo '<img src="' . $row['image1'] . '">'; 

echo '<img src=\'' . $row['image1'] . '\'>'; 

Schließlich können Sie die am wenigsten wünschenswerte Methode IMHO tun, die direkt auf die Variable in einem doppelten Anführungszeichen Inline Zeichenfolge. Dies funktioniert nur mit normalen Variablen und nicht mit Arrays.

$image = $row['image1']; 
echo "<img src=\"$image\">"; 
+0

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, die Qualität von zu verbessern deine Post. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. Bitte versuchen Sie auch nicht, Ihren Code mit erklärenden Kommentaren zu füllen, dies reduziert die Lesbarkeit sowohl des Codes als auch der Erklärungen! – Carpetsmoker