Einzelnen Beitrag anzeigen
  #1  
Alt 10.10.2011, 08:31:54
Fire Fire ist offline
Anfänger
 
Registriert seit: Oct 2011
Ort: Leipzig
Alter: 34
Beiträge: 4
Foreign Key & Selectbox

Hiho,

kurz etwas vorne weg. Ich beschäftige mich erst ein paar Wochen mit php/mysql, also nicht so streng sein. :p

Folgendes... ich habe eine Adressverwaltung gemacht mit einem Hauptmenü. Dort gelangt man zb zu der Adresseneingabe, Ausgabe usw. In der Ausgabe werden dann alle Adressendatensätze aus der DB gelistet, man kann nach Datensätzen suchen und man kann Datensätze anklicken und bearbeiten.

Jetzt hab ich das Problem, dass ich bei der Eingabe die "Anrede" und die "Länder" als selectboxen angeben soll. War jetzt nicht weiter schwierig, da ich alles ins Script geschrieben hab. Nun soll ich aber diese selectboxen per foreign key, also Fremdschlüssel in der Eingabe anzeigen lassen. Ich hab jetzt in der mysql workbench erst einmal 2 weitere tabellen angeben (zusätzlich zu der haupttabelle 'Adressen') --> 'anrede' und 'laender'. Foreign keys sind auch schon eingerichtet, zb bei 'anrede' stehen die ID's vorne (ist ja normal) und danach eine spalte mit dem namen 'NAME' wo zb "Herr", "Frau"... drinne steht. Nun habe ich in meiner Haupttabelle eine Spalte für den Foreign key eingerichtet die ANREDE_ID heißt.

An sich funktioniert alles wenn ich folgendes in die workbench eingebe, gibt er mir diese Werte (Anrede, Vorname, Nachname) auch aus, wo nur "Herr" drinne stehen soll (jetzt nur mal so als Beispiel):

SELECT anrede.NAME, adressen.Vorname, adressen.Nachname
FROM adressen, anrede
WHERE adressen.ANREDE_ID = anrede.ID;

--> Herr Max Mustermann


Jetzt meine Frage. Wie bau ich das in mein Script bei meinen selectboxen rein und auch so, dass wenn ich auf speichern klicke, er die als Zahlen (1 = Herr, 2=Frau... wie halt in Tabelle 'anrede' angeordnet) in meine Haupttabelle 'adressen' einträgt und ich sie dann aber als Werte (Herr, Frau...) ausgeben kann?

Ich kann ja mal meine selectboxen posten, wie sie ohne mysql-Anweisung aussehen (nur die ersten paar Zeilen bis "Vorname"):

<form id="eingabetabelle" method="post" action="eingabe.php">
<label for="name">*Anrede</label>
<select id="anrede" name="ANREDE">
<option value="leer"></option>
<option value="herr">Herr</option>
<option value="frau">Frau</option>
</select><br />
<label for="name">*Vorname</label> <input type="text" id="vorname" name="VORNAME" value='.$sVorname.'><br />
...
...



Ich hoffe mein Anfängerisch war nicht allzu unverständlich. =/ Manchmal weiß ich selbst nicht, wie ich was zum laufen gebracht habe.


Grüße und Danke im Voraus
Mit Zitat antworten