FRage zu SQL Code von Funktionpost.php

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
rcbcom
Mitglied
Beiträge: 787
Registriert: 17.06.2003 02:28
Wohnort: Im Netz
Kontaktdaten:

FRage zu SQL Code von Funktionpost.php

Beitrag von rcbcom »

Hallo
ich will die Bez."k_id=$k_id" einbauen! Frage wo kann ich in am besten hinsetzten
1
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_extra, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, k_id) VALUES ('$post_subject', '$post_extra', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $k_id)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_extra = '$post_extra', topic_type = $topic_type, k_id=$k_id " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
oder so:
2
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_extra, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, k_id) VALUES ('$post_subject', '$post_extra', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $k_id)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_extra = '$post_extra', topic_type = $topic_type, " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote :, "k_id=$k_id ") . " WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
Laut den Modbeschreibeung muss k_id=$k_id hinter topic_vote! Aber kann ich das den auch nicht wie bei 1 lassen ?

Wer kennt sich besser mit aus als ich und knn mir ein Tipp geben!

Danke im voraus.

lg.rcbcom



[/quote]
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Nun, auf jeden Fall entspricht Nr. 1 nicht der Nr. 2 - bei 1 wird das ganze bei jeder UPDATE-Abfrage berücksichtigt, bei 2. ist das Ding Teil eines dreifach konditionalen Operators (siehe http://www.php.net/manual/de/language.expressions.php) und wird daher nur berücksichtigt, wenn

Code: Alles auswählen

($post_data['edit_vote'] || !empty($poll_title))
nicht erfüllt ist.
Nr. 2 wird des weiteren zu einem Laufzeitfehler führen, da sich das Komma nach dem Doppelpunkt nicht innerhalb einer Zeichenkette befindet.

Was nun genau richtig ist (evtl. 3. ;-)) können wir dir nur sagen, wenn du uns die genauen Anweisungen des Mods postest.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
rcbcom
Mitglied
Beiträge: 787
Registriert: 17.06.2003 02:28
Wohnort: Im Netz
Kontaktdaten:

RE Mod

Beitrag von rcbcom »

Hallo,
danke für deine Hilfe...so folgendes ich habe hier ein Ausschnitt aus dem Mod's
open includes/function_post.php

##------Find----
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length)

##----Change the end of row-----
&$poll_options, &$poll_length, &$k_id)

##-----------------------------


##----FIND in function submit_post------
$sql = ( $mode != "editpost" ) ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_vote = $topic_vote WHERE topic_id = $topic_id";

##----Replace with----

//So soll das ausehen aber nicht bei mir da ich in der Funktionpost.php
$sql = ( $mode != "editpost" ) ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, k_id) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $k_id)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_vote = $topic_vote, k_id=$k_id WHERE topic_id = $topic_id";

##--------------------

Save an close the function_post.php
Ich habe den Code zu 1 einsgestzt.

1
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_extra, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, k_id) VALUES ('$post_subject', '$post_extra', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $k_id)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_extra = '$post_extra', topic_type = $topic_type, k_id=$k_id " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
bei 2 kommt also damit ein Fehler!!
$sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_extra, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, k_id) VALUES ('$post_subject', '$post_extra', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $k_id)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_extra = '$post_extra', topic_type = $topic_type, " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote :, "k_id=$k_id ") . " WHERE topic_id = $topic_id";
if (!$db->sql_query($sql))
Wo müsste ich den k_id=$k_id hinsetzten laut der Beschreibung?
Oder kann ich 1 so lassen ?
Danke für die Hilfe
lg.rcbcom
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Re: RE Mod

Beitrag von PhilippK »

rcbcom hat geschrieben://So soll das ausehen aber nicht bei mir da ich in der Funktionpost.php
Da du was?

Variante 1 sieht mir derzeit am vernünftigsten aus...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
rcbcom
Mitglied
Beiträge: 787
Registriert: 17.06.2003 02:28
Wohnort: Im Netz
Kontaktdaten:

RE

Beitrag von rcbcom »

Da du was?
Ich habe die 1 Variante gewählt und "k_id=$k_id " dahin gesetzt. Dann kann ich das bei 1 wohl lassen ?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Sieht so aus :-)

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
rcbcom
Mitglied
Beiträge: 787
Registriert: 17.06.2003 02:28
Wohnort: Im Netz
Kontaktdaten:

RE

Beitrag von rcbcom »

Jopp dann lasse ich es so und noch mals danke :)
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“