phpbb: Wert in tabelle über link in der viewtopic ändern?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

phpbb: Wert in tabelle über link in der viewtopic ändern?

Beitrag von JLoop© »

Hi,
ich habe in die tabelle phpbb_topics diese tabellenspalte eingefügt:
down_status tinyint(1) NOT NULL default '0'
Nun möchte ich in die viewtopic einen Link "Anmelden" - der auf klick den rot markierten wert in 1 umwandelt - und einen Link "Abmelden" der den wert wieder auf 0 zurücksetzt!Da ich noch absoluter noob in php bin wäre ich dankbar wenn mir jemand helfen könnte das hinzukriegen oder mir ansatzweise erklären könnte wie das ablaufen muss!

Bin für jeden tipp dankbar!

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

Beitrag von JLoop© »

hmm hab ich irgendwas falsches geschrieben oder hat wirklich keiner ne ahnung wie ich da vorgehen muss um das hinzubekommen? ...oder ist das forum hier nur für php profis gedacht? :-?

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Du brauchst die Topic Id ($topic_id).

Dann kannst Du mit

Code: Alles auswählen

$sql = "UPDATE phpbb_topics SET down_status=1 WHERE topic_id=$topic_id";
die Spalte auf 1 setzen.

HTH, Sascha
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

Beitrag von JLoop© »

Jo nur wie kann ich das ganze über 2 Links steuern?Ich habs mal so probiert:

viewtopic.php:

vor

Code: Alles auswählen

$template->assign_block_vars('postrow', array(
habe ich das eingefügt:

Code: Alles auswählen

if ($mode == 'down')
{
$sql = "UPDATE phpbb_topics SET down_status=1 WHERE topic_id=$topic_id";
}
und nach:

Code: Alles auswählen

'POSTER_NAME' => $poster,
habe ich das eingefügt:

Code: Alles auswählen

'DOWN_LINK' => '<a href="' . append_sid("viewtopic.$phpEx?t=$topic_id&mode=down"). '">Down</a>',  
aber in der DB tut sich nicht der wert bleibt auf 0 :(

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

JLoop© hat geschrieben:

Code: Alles auswählen

if ($mode == 'down')
{
$sql = "UPDATE phpbb_topics SET down_status=1 WHERE topic_id=$topic_id";
}
Abschicken musst du die Abfrage auch noch: $db->sql_query($sql)
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

Beitrag von JLoop© »

thx es läuft jetzt soweit ich habe da aber trotzdem noch ein kleines problem und zwar habe ich noch $message = .. hinzugefügt:

Code: Alles auswählen

if ($mode == 'down')
{
$sql = "UPDATE phpbb_topics SET down_status=1 WHERE topic_id=$topic_id";
if ( !$result = $db->sql_query($sql) )
                {
message_die(GENERAL_ERROR, 'Could not update topic status', '', __LINE__, __FILE__, $sql);
                }

                $message = 'Topic was updated successful';
                message_die(GENERAL_MESSAGE, $message);
                }
damit nach dem anklicken des Links eine Nachricht angezeigt wird nun hätte ich es gerne so dass man dann zurück zum topic geleitet wird ist das irgendwie machbar?

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

Beitrag von JLoop© »

Niemand ne idee wie ich das mit der weiterletung hinbekommen kann?? :(

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Code: Alles auswählen

Klicke <a href="viewtopic.php?t=08/15">hier</a>, um zum Thema zurückzukehren
Kannst auch irgendwie einstellen, daß man nach 3 Sekunden automatisch weitergeleitet wird. Am besten du guckst dir dazu mal posting.php oder so an.
JLoop©
Mitglied
Beiträge: 291
Registriert: 21.09.2002 15:24

Beitrag von JLoop© »

Ja ich meinte ja die automatische weiterleitung ich hatte mir das schon in anderen Dateien angesehen aber das funzt irgendwie net :o

aus der posting.php hab ich das genommen:

Code: Alles auswählen

$redirect = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";

                $header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
        header($header_location . append_sid($redirect, true));
        exit;
und hier eingefügt:
if ($mode == 'down')
{
$sql = "UPDATE phpbb_topics SET down_status=1 WHERE topic_id=$topic_id";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update topic status', '', __LINE__, __FILE__, $sql);
}

$message = 'Topic wurde markiert';
message_die(GENERAL_MESSAGE, $message);

$redirect = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";

$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
header($header_location . append_sid($redirect, true));
exit;

}
aber des funzt net es tut sich nichts :(

Grüße JLoop
Die Rechtschreibfehler in meinen Beiträgen sind nur zur Zierde :D
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Aus posting.php und functions_post.php:

Code: Alles auswählen

$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';

$message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

$template->assign_vars(array("META" => $meta));
message_die(GENERAL_MESSAGE, $message);
Antworten

Zurück zu „Coding & Technik“