Ich möchte eine Datenbank erstellen, in der Warenmenge, Produktname, Beschreibung und Preis hinterlegt sind und daraus eine Preisliste in HTML generieren. Mal angenommen, es würde sich um Obst handeln, dann sollte die Ausgabe etwa wie folgt aussehen:
Bin nun am Überlegen, wie ich so etwas am besten aufbaue und dabei Redundanzen vermeide. Ich habe ca. 100 Produkte, mit jeweils 5 verschiedenen Warenmengen und da die Preise nicht linear skalieren, kann ich auch keinen Modifikator verwenden (also nicht: 2 kg == 1k * 1.5). Mein Gedanke war, zwei Tabellen anzulegen.
Ein Query auf die Warengruppe durchzuführen und das Array anschließend in einer Schleife auszugeben. Folgender Code sollte alle Produkte der Warengruppe 1 (Äpfel) anzeigen:
Ist das in Ordnung, oder sollte ich einen anderen Ansatz wählen? Ich habe bisher noch keine Abfrage über mehrere Tabellen durchgeführt.
Code:
Menge: Name: Beschreibung: Preis:
1 kg Äpfel frisch und knackig € 2,95
2 kg Äpfel frisch und knackig € 4,95
.......
1 kg Bananen gelb und krumm € 1,95
......
Bin nun am Überlegen, wie ich so etwas am besten aufbaue und dabei Redundanzen vermeide. Ich habe ca. 100 Produkte, mit jeweils 5 verschiedenen Warenmengen und da die Preise nicht linear skalieren, kann ich auch keinen Modifikator verwenden (also nicht: 2 kg == 1k * 1.5). Mein Gedanke war, zwei Tabellen anzulegen.
Ein Query auf die Warengruppe durchzuführen und das Array anschließend in einer Schleife auszugeben. Folgender Code sollte alle Produkte der Warengruppe 1 (Äpfel) anzeigen:
PHP:
function hole_datenbank($db)
{
$abfrage = $db->query("SELECT waren.produktname, waren.beschreibung, preise.anzahl,
preise.preis FROM waren JOIN preise ON waren.warengruppe = preise.warengruppe WHERE warengruppe = '1';")
$daten = $abfrage->fetchAll();
return $daten
}
HTML:
<table>
<?php foreach ($daten as $produkt) { ?>
<tr>
<td><?php echo $produkt['anzahl'] ?></td>
<td><?php echo $produkt['produktname'] ?></td>
<td><?php echo $produkt['beschreibung'] ?></td>
<td><?php echo $produkt['preis'] ?></td>
</tr>
</table>
Ist das in Ordnung, oder sollte ich einen anderen Ansatz wählen? Ich habe bisher noch keine Abfrage über mehrere Tabellen durchgeführt.