phpbar.de logo

Mailinglisten-Archive

Wie realisiere ich das?

Wie realisiere ich das?

Michael Buebl mysql_(at)_lists.phpcenter.de
Sat, 7 Apr 2001 12:07:53 +0200


>
>
>n-m beziehungen loest man am elegantesten (sowohl datenbanktechnisch okay
>als auch einfah zu handhaben) mit einer sogenannten cross-table , die
>"zwischen" den tabellen tbl_user und tbl_interessen plaziert wird.
>
>d.h. du brauchst insgesamt 3 tabellen:
>
>tbl_user
>********
>id_user, user_name, etc...
>
>tbl_interessen
>**************
>id_interesse, interesse, etc...
>
>tbl_user_interesse (cross table)
>******************
>id, id_user, id_interesse
>
>die lösung mittels einer cross-table hat folgende vorteile:
>
>- du kannst die check-elemente für jedes interessenthema in das
>eingabeformular automatisch einfügen mittels einer abfrage der tabelle
>tbl_interessen und einem paar linien code. ändern sich die interessenthemen,
>werden sie mehr, werden sie weniger: du brauchst nix ändern am
>eingabeformular!
>
>- die struktur von tbl_user ist unabhängig von änderungen von interessen
>
>- informationen zu lesen aus diesen 3 tabellen ist denkbar einfach, z.b.
>wenn du die users haben möchtest, welche ein bestimmtes interesse haben:
>
>wenn du die id_interesse hast:
>
>SELECT * from tbl_user, tbl_user_interesse
>WHERE tbl_user.id_user = tbl_user_interessen.id_user
>AND tbl_user_interesse.id_interessen = <bestimmte interessen-id>
>
>ansonsten wenn du nach einem string suchst:
>
>SELECT * from tbl_user, tbl_user_interesse, tbl_interessen
>WHERE tbl_user.id_user = tbl_user_interessen.id_user
>AND tbl_user_interessen.id_interesse = tbl_interessen.id_interesse
>AND tbl_interessen.interessen IN '<suchtext>'



Hallo ,
ich hätte auch eine Frage zu diesem Thema:

Wie man die Tabellen abfragt ist jetzt klar aber wie füllt man sie ?

Wenn man einen user in die table_user eintragt dann bekommt man automatisch eine Id und wenn man ein Interesse in die tabl_interesse einfügt hat man auch eine automatische id.

Aber wie weiss die table_user_interesse wie was zusammengehört ?
Ich meine dass ich nicht gleichzeitig  die userid in die table_user und in die table_user_interesse eintragen kann, da ich sie ja erst bekomme wenn ich den user in die table_user eingetragen habe ! 

Wie trage ich den Zusammenhang in die dritte Tabelle automatisch ein (z.B Meier , Franz, Fernsehen.) 

Wie macht man das ?
Kann wer eine Lösung veröffentlichen da das glaube ich viele interessiert.

Grüsse
Michael

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive