Neues SQL Feld - Befehl zum schreiben - wbb 2.3.6

Razer
Hallo Freunde!

Ich bin grade am verzweifeln und leider kein SQL Fachmann... unglücklich
Ich möchte in der modcp.php ("Thema bearbeiten" im wbb 2.3.6) ein weiteres Datenbank Feld anlegen.

Dort soll man eintragen können, wer für das Thema oder Problem zuständig ist. Dieser Wert soll erst in die DB geschrieben werden und später dann im Thread wieder angezeigt werden. Die Abfrage kriege ich wahrscheinlich hin, aber das speichern des Wertes in die DB funktioniert irgendwie nicht unglücklich

In meinem Forum sieht das Feld folgendermaßen aus:
[attach]34110[/attach]

Code für das Feld:
php:
1:
<input class="input" type="text" name="zustaendig" value="$zustaendig" size="40" maxlength="100" />

Dieses Feld soll er mit in meine Datenbank in die Tabelle threads reinschreiben.

Das Feld dort heißt auch "zustaendig" und ist folgendermaßen aufgebaut:
[attach]34109[/attach]

Die Frage ist jetzt: wie und an welcher Stelle muss ich den SQL Insert (?) Befehl formulieren?

Lacht mich ruhig, aus, aber ich habe jetzt seit 2 Tagen einiges ausprobiert. Ich habe es nicht einmal geschafft, dass etwas in die Datenbank geschrieben wurde.

Im Anhang findet ihr noch die modcp.php. Ich vermute (meiner Logik nach), dass der SQL Befehl dort rein muss.

Vielleicht habe ich auch nur einen Syntax Fehler oder mein Datenbank Feld ist falsch eingerichtet, keine Ahnung, bin mit meinem Latein am Ende.

Könnt ihr mir da vielleicht weiterhelfen?
Wäre wirklich super nett von euch.
Schrimm
Hallo,

Du hast dein Feld schon an der richtigen Stelle eingefügt:
php:
1:
$db->unbuffered_query("UPDATE bb".$n."_threads SET topic='".addslashes($topic)."', zustaendig='".addslashes($zustaendig)."', iconid='$iconid', ".((checkmodpermissions("m_can_thread_close") || ($isuser && $wbbuserdata['can_close_own_topic'] == 1)) ? ("closed='".intval($_POST['closed'])."',") : (""))."important='$important'".((isset($prefix)) ? (", prefix='".addslashes($prefix)."'") : (""))." WHERE threadid='$threadid'"1);

Hier hast du eingefügt:
php:
1:
zustaendig='".addslashes($zustaendig)."'

Soweit sollte es passen.
Das Feld im Template scheint auch richtig zu sein.
Nun musst du natürlich das Feld auch noch in der SQL-Datenkbank anlegen.

Bei dir müsste das Feld den Namen "zustaendig" tragen und sollte den Typ "text" haben.
Razer
Hey Schrimm,

vielen Dank erstmal für die schnelle Antwort!

Genau das ist mein Problem, es sieht eiiiigentlich alles ok aus, soweit ich das mit meinen Anfängerkenntnissen bewerten kann.

Allerdings schreibt er die Werte einfach nicht in die Datenbank unglücklich
Ich weiß nicht, fehlt da vielleicht noch irgendwas? Oder ist das evtl. aus der modcp.php heraus garnicht möglich?
Habe das Datenbank Feld auch nochmal von Varchar auf Text umgestellt, hat aber auch nicht geholfen.

Bin mit meinem Latein am Ende.

Irgendne Kleinigkeit spuckt mir da wieder in die Suppe Nachdenken
Schrimm
Hallo,

Das Problem ist, dass du nicht die "$_POST"-Variable verwendest.
Deine SQL-Abfrage müsste genau heißen:
php:
1:
$db->unbuffered_query("UPDATE bb".$n."_threads SET topic='".addslashes($topic)."', zustaendig='".addslashes($_POST['zustaendig'])."', iconid='$iconid', ".((checkmodpermissions("m_can_thread_close") || ($isuser && $wbbuserdata['can_close_own_topic'] == 1)) ? ("closed='".intval($_POST['closed'])."',") : (""))."important='$important'".((isset($prefix)) ? (", prefix='".addslashes($prefix)."'") : (""))." WHERE threadid='$threadid'"1);

also:
php:
1:
zustaendig='".addslashes($_POST['zustaendig'])."'
Razer
Mein Freund, ich danke dir Ehren
Da wär ich auf keinen Fall drauf gekommen... Klappt einwandfrei.
Vielen, vielen Dank für die schnelle und super Hilfe!