Mailinglisten-Archive |
Am Mon, 11 Mar 2002 14:17:22 +0100 schrieb ron.opitz_(at)_dts.de (Ron Opitz): > Folgendes Problem: > Eine zentrale Artikelverwaltung stellt mehreren Modulen (Anzahl unbekannt) > die Artikel zur Verfügung. Wobei nicht alle Artikel überall zu sehen sein > sollen. Da die Anzahl der Module dynamisch ist kann ich nicht für jedes Modul > eine Datenbankfeld anlegen und danach suchen. > Wenn ich jetzt die Informationen in einem Feld (siehe wie Thread Checkboxes) > speichere, wie kann ich dann einfach in SQL danach suchen? ...Du könntest z.B. eine dritte Tabelle "ArtikelModulZuordnung" machen, in der die Felder "Modul_ID" und "Artikel_ID" enthalten sind. Darin trägst Du jede Artikel_ID so oft ein, wie der Artikel in Modulen vorkommt. Wenn also der Artikel "Holz" in Modul Faktura und Modul Lager sowie der Artikel "Grab" nur im Modul Friedhof zu sehen sein soll, sieht die Tabelle so aus: Artikel_ID | Modul_ID -----------+--------- 1 | 1 1 | 3 3 | 2 Alle Artikel, die im Modul "Faktura" vorkommen, bekommst Du dann z.B. so raus: SELECT a.id,a.name FROM Artikel a, Module.m, ArtikelModulZuordnung amz WHERE a.id=amz.Artikel_ID AND amz.Modul_ID=m.Modul_ID AND m.name='Faktura' (ungetestet, aber sollte so in der Richtung funktionieren). Das Feld "Module" kann aus Deiner Tabelle "Artikel" dann natürlich wieder raus. Gruß, Markus -- *21st Media* | Consulting, Konzeption, Produktion für die Bereiche: Markus Wolff | Internet, Intranet, eCommerce, Content Management, Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming http://21st.de | Tel. [+49](0)40/6887949-0, Fax: [+49](0)40/6887949-1
php::bar PHP Wiki - Listenarchive