Liebe/-r Experte/-in,
ich ahbe mal eine generelle Logikfrage.
Also:
Nehmen wir an, ich möchte einen shop umsetzten.
Zur Vereinfachung sind nur 3 Kathegorien drin:
PCs, Autos, Schuhe.
Nun habe ich das Problem, dass jeder Artikel unterschiedliche Merkmale hat.
Natürlich kann ich eine Tabelle anlegen mit Schuhen, eine mit PCs und eine mit Autos.
Mit if-else dann die Abfrage der Kathegorie und dann daraufhin die Tabelle wählen. Also if kathegorie=pcs select * from pcs
else if kathegorie =schuhe select * from schuhe usw.
Kommt dann eine Kathegorie dazu habe ich das Problem, dass ich etliche Scripte anpassen muss, jedemal halt um ein if-Else erweitern. Vor allem bei der Artielverwaltung habe ich ein Problem. (In welche Tablle speichern).
Also habe ich die Zeilen transponiert:
attribute | objekt_id | wert | kathegorie_id
1(hersteller) | 1(PC Nr 1) |„Dell“ | 1 (PCs)
…
2(farbe) | 1(Schuh Nr 1)|„schwarz“| 2 (Schuhe)
…
3(leistung) | 11(PKW Nr 11)|„1111“ | 3 (Autos)
Meine Idee ist nun die Objekt_ids in ein Array zu packen und zB alle PCs ab zu fragen
select * from artikel where kathegorie_id=1.
…
while(…){
$objekt_array[]=$ausgabe[‚objekt_id‘];
}
for($x=0;$x$ausgabe[‚hersteller‘]$ausgabe[‚prozessor‘]…";
}
So bekomme ich dann die PC-Blöcke aus der Tabelle zeilenweise ausgegeben.
So weit so gut. Nur wenn ich mir vorstelle, dass da uU 3000 PCs in der DB sind, bekomme ich 3000 Abfragen.
Kann man dass uU eleganter lösen? Vor allem, wenn auf dem Server noch 10 Kunden sind, geht in die 5 stelligen
Abfragen-Bereiche.
Danke für ure Mühe!
Oliver