Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

update table





Frage

Habe da einen Denkfehler: global $textarea; global $dauer; include("db/icb.php"); $db = @mysql_pconnect($host, $user, $pass) or die ("Verbindung mit der MySql-Server fehlgeschlagen!"); @mysql_select_db($database, $db) or die ("Verbindung mit der Datenbank fehlgeschlagen!"); foreach($_POST['knummer'] as $key => $value) { mysql_query("insert into icb_message (knummer, datum) values ('$key', '$yyyy-$mm-$dd')"); } mysql_query("update icb_users, icb_message set icb_users.message = '$textarea', icb_users.mcount = '$dauer' where icb_users.knummer = icb_message.knummer"); Wie man sieht trage ich in die Tabelle icb_message alle knummern, die ich im vorherigen Formular angehakt habe. Ausserdem wird das Datum ein Text und die Dauer mitgeliefert. Ich möchte jetzt in die Tabelle icb_users überall dort den Text und die Dauer eintragen, die die gleiche knummer haben wie die in der Tabelle icb_message. Kann doch nicht so schwer sein. ICh komm nicht drauf. Bitte nochmal um Hilfe MFG kingluui

Antwort 1 von EdgarM

Hi, wenn dein Fehler der ist, das in der where klausel mehrere knummer 'n stehen, dann schreibe einfach statt
= icb_message.knummer"

in ( *knummer_liste*)
und *knummer_list* muß eine Kommaseperierte Liste der knummern sein.

grüße
edgarm

Antwort 2 von thomasoop

update icb_users a, icb_message b set a.feld = b.feld, a.feld2 = b.feld2 where a.knummer = b.knummer

würd mir spontan einfallen

dann brauchst du das for each auch nicht mehr ;-)

feld und feld2 durch die jeweiligen feldnamen ersetzen

Antwort 3 von MickK

Versuch's mal damit:
1. deine tabellenfelder enthalten zahlenwerte:
mysql_query("update icb_users, icb_message set icb_users.message = ".$textarea.", icb_users.mcount = ".$dauer." where icb_users.knummer = icb_message.knummer");

oder

2. deine tabellenfelder enthalten stringwerte:
mysql_query("update icb_users, icb_message set icb_users.message = '".$textarea."', icb_users.mcount = '".$dauer."' where icb_users.knummer = icb_message.knummer");

Dein Sql wird als String übergeben. Stringverknüpfungen werden mit . gemacht.

Gruss Mick


Antwort 4 von MickK

Nachschlag:
bei fall 2 die kombination aus doppelten und einfachen kommata beachten.

Gruss
Mick

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: