Bild zuweisen

04/07/2018 13:49 gamehacker1#1
Ich habe ein Feld, wo der Kunde ein Produkt suchen kann und bei einer Übereinstimmung wird ihm direkt von der DB die Infos geliefert. Ich würde dazu aber gerne noch ein Bild zu dem jeweiligen Produkt einfügen, weiss aber nicht wie ich das umsetzen soll.
PHP Code:
<?php
// Abfrage 3
$suchwort "";
 
require 
"pdo.php";
 
if (isset(
$_POST["tsuchwort"]))
{
$suchwort $_POST["tsuchwort"];}
 
if (!(
$_POST["tsuchwort"])){
    echo 
"Bitte ein Suchwort eingeben."
    }
 
else{
 
$abfrage $pdo->prepare("SELECT * FROM produkte WHERE modell LIKE :modell");
 
$abfrage->execute(array('modell' => "%$suchwort%"));
 
foreach (
$abfrage as $row) {
 
echo 
"Produkt ID: ".$row['produkt_ID']."<br>"
echo 
"Modell: ".$row['modell']."<br>";
echo 
"Preis: ".$row['preis']."<br><br>";
 

}
 
?>
04/07/2018 14:05 florian0#2
Leg das Bild auf deinem Webspace ab, am besten in einem gesonderten Ordner. z.B. "produktbilder". Entscheide dich für ein eindeutiges Namensschema. Wenns nur ein Bild sein soll, reicht dir sicherlich auch die ProduktID.

Code:
produktbilder/
- artikel-123.jpg
- artikel-456.jpg
- artikel-111.jpg
In einem Code ergänzt du dann einfach ein:

Code:
echo "Bild: <img src=\"produktbilder/artikel-{htmlspecialchars($row['produkt_ID'])}.jpg\" alt=\"Produktbild\" /><br><br>";
Alternativ kannst du in deiner DB auch ein weiteres Feld anlegen, in dem der Dateiname des Bildes abgelegt wird. Wenns mehrere Bilder pro Produkt sein sollen, müsstest du schon eine Art Gallerie bauen. Dann empfiehlt sich eine eigene Tabelle die nur die Bilder-(Namen) zu den Produkten verknüpft.
04/07/2018 14:19 gamehacker1#3
Quote:
Originally Posted by florian0 View Post
Leg das Bild auf deinem Webspace ab, am besten in einem gesonderten Ordner. z.B. "produktbilder". Entscheide dich für ein eindeutiges Namensschema. Wenns nur ein Bild sein soll, reicht dir sicherlich auch die ProduktID.

Code:
produktbilder/
- artikel-123.jpg
- artikel-456.jpg
- artikel-111.jpg
In einem Code ergänzt du dann einfach ein:

Code:
echo "Bild: <img src=\"produktbilder/artikel-{htmlspecialchars($row['produkt_ID'])}.jpg\" alt=\"Produktbild\" /><br><br>";
Alternativ kannst du in deiner DB auch ein weiteres Feld anlegen, in dem der Dateiname des Bildes abgelegt wird. Wenns mehrere Bilder pro Produkt sein sollen, müsstest du schon eine Art Gallerie bauen. Dann empfiehlt sich eine eigene Tabelle die nur die Bilder-(Namen) zu den Produkten verknüpft.
Ich glaub du hast ein Syntax Fehler, weil ich bekomme diesen Fehler
Code:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting '-' or identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
EDIT: Damit geht es
Code:
echo 'Bild: <img src="produkte/artikel-'. htmlspecialchars($row['produkt_ID']) . '.jpg" alt="Produktbild" /><br><br>';