m:n-Verbindung
Verfasst: 14.01.2007 13:41
Hallo! Bin PHP-Neuling und hab ein Fortgeschrittenen-Problem. Bei meiner Meteorologischen Datenbank hab ich eine m:n-Beziehung, und die soll auch bleiben (Hochschul-Hausarbeit).
Und zwar gibt's folgende Tabellen, die relevant sind für die m:n:
----------
terminus
----------
° term_id
° term
° eingabedatum
° bearbeiter
° beschreibung
------------------
term_kategorie
------------------
° kat_id
° kategorie
und als Zwischentabelle
----------------------------
terminus_has_kategorie
----------------------------
° terminus_term_id
° term_kategorie_kat_id
Ein Begriff kann also zu mehreren Kategorien (konkret Niederschlag, Naturerscheinung und JWD) gehören, eine Kategorie hat mehrere Begriffe (z.B. Regen, Schnee, Polarlicht).
Jetzt haben wir ins Eingabeformular die Kategorien per SELECT schon importiert, damit wir sie nicht selber hinschreiben müssen, und als Checkboxes verbastelt. Das Problem ist nur, wie schicken wir sie wieder zurück, damit er ein, zwei oder drei angeklickte Kategorien brav in die Datenbank (jew. term_kategorie und terminus_has_kategorie) einträgt?
Nächstes Problem: Würde ich ein Auswahlmenü haben wollen, wie würde ich die Kategorien ins Eingabeformular importieren, ohne daß er mir drei (!) Auswahlmenüs mit je einer Kategorie zur Auswahl erstellt? Ist ja nicht Sinn der Sache.
Und zwar gibt's folgende Tabellen, die relevant sind für die m:n:
----------
terminus
----------
° term_id
° term
° eingabedatum
° bearbeiter
° beschreibung
------------------
term_kategorie
------------------
° kat_id
° kategorie
und als Zwischentabelle
----------------------------
terminus_has_kategorie
----------------------------
° terminus_term_id
° term_kategorie_kat_id
Ein Begriff kann also zu mehreren Kategorien (konkret Niederschlag, Naturerscheinung und JWD) gehören, eine Kategorie hat mehrere Begriffe (z.B. Regen, Schnee, Polarlicht).
Jetzt haben wir ins Eingabeformular die Kategorien per SELECT schon importiert, damit wir sie nicht selber hinschreiben müssen, und als Checkboxes verbastelt. Das Problem ist nur, wie schicken wir sie wieder zurück, damit er ein, zwei oder drei angeklickte Kategorien brav in die Datenbank (jew. term_kategorie und terminus_has_kategorie) einträgt?
Code: Alles auswählen
include("connect.inc.php");
$query = "
SELECT
kat_id, kategorie
FROM term_kategorie
";
$resultat = mysql_query($query,$connection);
if ($resultat){
$inserted1 = mysql_insert_id();
while ($cust = mysql_fetch_array($resultat,MYSQL_ASSOC)) {
print "
<input type=\"checkbox\" name=\"kategorie\"> $cust[kat_id]<br>";
}
}
else {
print "Fehler: " . mysql_error();
}