Daten ausgeben und in Abhängigkeit schreiben

Ich danke Dir sehr.

Was ich immer noch nicht verstehe, ist die Sache mit der nachnameid:
PHP:
value="'.$result['nachnameid'].'"

set [nachnameid]='".$_POST['name'.$result['id']]."'

Oder meinst Du in dem Fall den Aliases?

Nochwas, woher kommt die ID des Datenbankeintrages des Vornamens? Liegt das an der Art der Abfrage, also mssql_fetch_assoc?
 
Die ID kommt aus der Datenbank, denn in der Regel sollte ja jeder Eintrag eine eindeutigen Wert haben ueber er angesprochen werden kann. Und dieser liegt halt meist in Form einer numerischen ID vor, welche dann auch meist den Feldnamen ID hat.
Auch NachNameID ist ein Feld in der Tabelle der Vornamen, und zwar wird dort die ID des zu verknuepfenden Nachnamens festgehalten.

Deine Tabellen sehen dann also so aus:
vornamen:
Code:
ID  |   Vorname  |   NachNameID
-------------------------------
1   |   Peter    |   1
2   |   Uwe      |   3
3   |   Sven     |   2
4   |   Adalbert |   1
nachnamen:
Code:
ID  |  Nachname
------------------
1   |  Meier
2   |  Schuster
3   |  Hacklbauer

Und ueber NachNameID wird dem Vornamen dann ein Nachname zugewiesen.
 
Die ID kommt aus der Datenbank, denn in der Regel sollte ja jeder Eintrag eine eindeutigen Wert haben ueber er angesprochen werden kann. Und dieser liegt halt meist in Form einer numerischen ID vor, welche dann auch meist den Feldnamen ID hat.

Jo, das Feld habe ich.

Meine Tabelle sieht aber so aus und es ist auch nur eineTabelle:

Code:
ID  |   Vorname  |  Aliases
-------------------------------
1   |   Peter    |   1
2   |   Uwe      |   3
3   |   Sven     |   2
4   |   Adalbert |   1

Alle 3 Felder sind vorhanden. Nur das Feld "Aliases" hat noch keine Werte, sprich die Werte NULL.
Jetzt lasse ich ja die Vornamen jeweils einmal ausgeben und weise ihnen dann ein Aliases zu. Dieses Aliases soll jetzt in die Datenbank in das Feld "Aliases" geschrieben werden.
Verstehst Du mich jetzt (besser)? Ist Dein Lösungsvorschlag weiter oben somit nicht mehr korrekt, oder?
 
Mein Ansatz ist im Grunde weiterhin korrekt, nur dass bei meinem halt bereits die 2 Tabelle mit den jeweilig zugewiesenen Namen existiert. Bei Dir gibt es bislang lediglich Zahlen ohne wirkliche Bedeutung.
 
Es soll aber keine weitere Tabelle bzw. kein weiteres Feld geben außer "ID", "Vorname" und "Aliases". Geht das dann überhaupt?
 
Ja klar. Du kannst doch einfach ein Formular haben in dem einfach nur der Name und die gewuenschte Nummer eingegeben werden.
Oder eben ein Formular in dem eben die Namen schon drinstehen und Du nur noch die Nummern eingibst. Das Problem dabei ist halt nur, dass es keinerlei Assoziation zu den Nummern gibt. Wenn dies nur fuer Dich ist und Du weisst was die Nummern bedeuten ist das okay. Wenn jedoch irgendwelche User damit arbeiten sollen ist es immer einfach wenn diese Nummern auch irgendeinen Bezug haben, und eben dieser wird halt in der Regel ueber die Datenbank mit einer weiteren Tabelle hergestellt.

Dazu siehe auch den angehaengten Screenshot. Dort kann ich Linux-Software eintragen und dabei eine Kategorie und Lizenz zuweisen. Die Kategorien und Lizenzen stehen in separaten Tabellen und werden jeweils ueber die ID zugeordnet. Wuerde ich dies nun durch eintragen der jeweiligen ID machen (was ja im Grunde moeglich ist) waere dies halt um einiges fehleranfaelliger (ich koennte mich ja bei einer ID durchaus mal vertun) und alles andere als Benutzerfreundlich.

Lange Rede kurzer Sinn: Es kommt drauf an was Du mit diesen Nummern erreichen willst und auch wer damit hantieren soll.
 

Anhänge

  • 26415attachment.jpg
    26415attachment.jpg
    57,8 KB · Aufrufe: 12
Oder eben ein Formular in dem eben die Namen schon drinstehen und Du nur noch die Nummern eingibst.

Ja, genau so soll es sein. Damit werde nur ich arbeiten. Ich habe wie gesagt nur meine Probleme damit, dass auch wirklich die von mir eingegebene Zahl in das Formular später den richtigen Namen zugewiesen wird. Soll heissen, dass wenn ich für "Peter" die "1" als Aliases zuweise, die "1" auch in jedem Feld "Aliases" steht wo im Feld "Name" auch "Peter" steht.
Aber Du sagtest ja Dein Lösung ist korrekt und setzt genau das um.
Ich danke Dir somit schonmal. Feedback wird kommen.
 
Meine Loesung sollte das hinkriegen. Denn spaeter, nehme ich an, wirst Du doch eine weitere Tabelle haben in der dann die Nummern den Namen zugeordnet werden, richtig?
Halt so wie ich es ein paar Posts zuvor anhand eines Beispieles dargestellt hab.
Das muss dann natuerlich nicht ueber eine Datenbank geschehen, das koennen auch fest im Code integrierte Werte oder Daten aus einer oder mehreren Textdatei(en) sein. Eine Datenbank stellt halt in der Regel den einfachsten und flexibelsten Weg dar.
 
Wie eine weitere Tabelle? Ich habe diese eine Tabelle mit den Feldern "ID", "Vorname" und "Aliases". Ich rufe die Vornamen einmalig ab, setze das ganze in ein Formular, lasse pro Vornamen noch ein input-Feld anzeigen, trage in die Felder die Nummern ein und nach dem Klicken auf den submit-button sollen die Nummern in das Feld "Aliases" in die Datenbank eingetragen werden.

Nur wie ich das mit dem Reinschreiben mache, weiß ich halt noch nicht. Das ist ja mein Problem. :) Den Stand der Dinge kannst Du meinem 2. Post in diesem Thread entnehmen.
 
Die Aliaswerte kannst Du dann mit UPDATE nachtragen.
Z.B. so
SQL:
update [my_table] set [Aliases]=100 where [ID]=10
oder, falls Du keine ID in Deiner Tabelle hast und ueber den Namen gehen musst (was meiner Meinung nach sehr unguenstig ist), so
SQL:
update [my_table] set [Aliases]=100 where [Vorname]='Fritz'
 
Zurück