mehrere einträge updaten(mysql) jedoch...

Operator_Jon

Erfahrenes Mitglied
HI!
Ich habe mal wieder ein problem:-(
Es sind verschiedene ID´s verschiedenen leuten zugeordnet.
Die geschieht über 2 mysql felder, ID und unam.
Manche haben jedoch mehrere Felder mit ihrem namen!
Die tabelle enthält darüber hinaus ja auchnoch andere daten, die werden in einer html tabelle nebeneinander aufgelistet, mit textfeldern um diese zu ändern, dies geschieht per while schleife! Nun das problem, da alle verschiedene anzahlen an id´s besitzen, wie mache ich es, das mit einem Button ALLE felder mit dem usernamen geändert werden?
Danke im vorraus

cu
OP_Jon
 
also wenn jeder username mehrere ids hat, dann machs doch einfach mit:

"UPDATE tabelle SET ... was auch immer ... WHERE uname='$username'"

oder hab ich jetzt was falsch verstanden?
 
warte. das könnte sogar klappen, ne doch nicht, stell es dir so vor:

id nr1 | id nr2 | id nr3 | id nr4
wert1 | wert1 | wert1 | wert1
wert2 | wert2 | wert2 | wert2
wert3 | wert3 | wert3 | wert3
[ALLE UPDATEN]

die tabelle wird per while erstellt, pro eintrag, der für den usernamen gefunden wird eine neue spalte, unten ist ein button, der alle updated!!!
***
cu
OP_Jon
 
Mal nebenbei was versuchst zu zu realisieren?
Deine Frage kommt nicht sonderlich deutlich rüber!
evt ist es mit nem Join sogar besser umzusetzen!
allein wegen der Tatsache das nen User mehrere Ids bekommt, find ich nicht gut *G*.
 
hoffe es ist so verständlich:
2 tabellen.
in einer stehen die userdaten.
in der anderen verschiedene daten mit dem usernamen.
jmd. kann mehrere spalten mit vershiedenen userdaten haben.
nun soll man sich alle daten aus der 2. tabelle nach username anzeigen lassen können und diese (sie werden alle nebeneinander aufgelistet) ALLE aufeinmal per knopfdruck (submit form) ändern können.
hier mal ein pic:
kcw.jpg

so soll das hinterher aussehen (wie immer ist es für Insel-Monarchie), nur alle inseln sollen nebeneinander sein und man soll alle sofort ändern können!
 
am besten ist es das du 3 unterschiedliche Tabellen erstellst
PHP:
/*
 * [Table User]
 * Id
 * Name
 * ......
 * 
 * [Table User_Stuff]
 * User_id
 * Handelsschiffe
 * Haupthaus
 * Steinmauer
 * Soldaten
 * usw....
 * 
 * [Table User_Inseln]
 * User_id
 * Insel_id
 * Insel_name
 * 
 * so und nun kommt erstmal der Select!
**/

$sql = "select * from User,User_Stuff,User_Inseln where "
                          ."User_Stuff.User_id = User.Id "
                          ."and User_Inseln.User_id = User.id "
                          ."and User.Id = $user_id";
$res = mysql_query($res);

/**
 * mit diesem sql würdest du nun erstmal zu dem User X die Daten X
 * aus der Tabelle User_Stuff und User_Inseln bekommen
 * 
 * nun kommt halt der update
**/
$sql = "update User_Stuff set "
                              ."Handelsschiffe = '$hSchiffe',"
                              ."Haupthaus = '$hHaus',"
                              ."Steinmauer '$sMauer',"
                              ."Soldaten '$soldaten' "
                              ."where User_id = '$user_id'";
mysql_query($sql);
$sql = "update User_Inseln set "
                              ."Insel_id= '$insel_id',"
                              ."Insel_name = '$insel_name' "
                              ."where User_id = '$user_id'";
mysql_query($sql);

/*
 * mit diesem query würdest du nun alle Daten vom User X
 * in der Tabelle User_Stuff und User_Inseln ändern
 * 
 * hab ich das nun richtig aufgenommen?
 * 
 * achso hier die dummy daten
 * [User]
 * Id = 1
 * Name = "User1"
 * 
 * [Stuff]
 * User_id = 1;
 * usw...
 * 
 * [Inseln]
 * User_id = 1;
 * Insel_id="1"
 * Insel_name="User1_insel 1"
 * Insel_id="2"
 * Insel_name="User1_insel 2"
 * ---------
 * [User]
 * Id = 2
 * Name = "User2"
 * 
 * [Stuff]
 * User_id = 2;
 * usw...
 * 
 * [Inseln]
 * User_id = 2;
 * Insel_id="1"
 * Insel_name="User2_insel 1"
 * Insel_id="2"
 * Insel_name="User2_insel 2"
 * ---------
**/

Ich hoffe ich hab dir geholfen und wenn du Probleme mit dem Code hast von wegen Verständnis usw.. dann sag bescheid! :)

das ganze nennt man auch eine m:n relation!

Praktisch gesehen könntest du wenn du es noch weiter ausbaust sogar soweit führen das du jedem Soldaten einen eigenen Karakter (Name ,Alter,Gestorbn am, Um, Wie, usw... ;D)
verleihst und jedes stück Land seinen eigenen Namen gibst
uglystupid.gif
 
Zuletzt bearbeitet:
hmmm....
nein, so ist es nicht gemeint!
es gibt 2 tabellen:
-user
-inseln

In der tabelle user gibt es zu dem user einen eintrag, der fogendes enthält:
-ID(NICHT die selbe id der inseln!! [obwohl das ne idde wär:-)](auto_increment)
-unam
-pass(md5)
-admin(ob admin oder nicht)
-frei(ob freigeschaltet oder nicht)

In der tabelle inseln, hat ein user beliebig viele einträge!
Folgende felder sind enthalten:
-ID (auto_increment)
-unam
-inselnummer
-inselname
-haupthaus
-steinmauer
-soldaten
-speertraeger
-bogenschuetzen
-schwerttraeger
-handelsschiffe
-kl_kriegsschiffe
-gr_kriegsschiffe
-kanonenboote
-siedlungsfaehig
-abwehr
-speer
-bogen
-schwert
-kanone
-kl_an_ja_n
-au_wenn_ar_weg
-how_much_flotte

so, davon kann natürlich jeder belibig viele haben!
nun sollten sie ungefähr folgendermaßen angezeigt werden, also die inseln, die man selber hat:
kcw2.jpg

denkt euch die Werte mal in Textfelder zum verändern!
Nun kann man alle daten dort ändern, ALLER inseln und diese per button updaten!
der update befehl ist dann denkber einfach!
ich sage es mal so, ich habe keine probleme mit mysql anweisungen, da ich jedoch erst seit ungefähr einem halben jahr php programmiere, habe ich mit diesem system ein wenig schwierigkeiten...
danke
cu
OP_Jon

(ich hasse es, das er t h x in *** umwandelt^^)


//EDIT:
Wenn ich zu blöde bin, und dein code genau das macht, dann sag es bitte;)
ansonsten könntest du mir es ja auch mal über icq erklären wenns geht;-)

//EDIT2:
Übrigens gehört dieser "stuff" zu der jeweligen insel dazu! das sind die gebäude darauf!
auf jeder insel sind die level der gebäude anders!!!
 
Zuletzt bearbeitet:
Wenn das so funktioniert wie ichs dir geschrieben habe, dann sag bescheid und wenn nein dann meld dich einfach dann kann ich dir diesen Teil ja schreiben!
 
Zurück