Nach Klick DB Eintrag

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.
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Nach Klick DB Eintrag

Beitrag von Tobl »

Hallo zusammen,

meine heutige Frage bezieht sich auf die Datenbank... :oops: :oops:

Wie ist es möglich, daß beim klicken eines Links (BSP: Forum-Übersicht, FAQ oder Suchen...) nicht nur die gewünschte Seite geöffnet wird sondern auch bei dem entsprechenden User eine "1" in der DB (Neue Zeile hab ich schon eingefügt) eingetragen wird?

Hoffe es ist verständlich

Gruß Tobl
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Nicht getestet, aber du könntest es wie beim views-Counter der Themen machen. (Nach Session Management der jeweiligen Datei einfügen.)

Code: Alles auswählen

$sql = "UPDATE ". USERS_TABLE ."
	SET name_des_feld = name_des_feld + 1
	WHERE user_id = ". $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, "Could not update user info.", '', __LINE__, __FILE__, $sql);
}
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

danke für die schnelle hilfe acid.

habe es jetzt auch folgendermaßen probiert:

Code: Alles auswählen

    $sql = "UPDATE " . USERS_TABLE . "
            SET user_note = user_note = '1'
            WHERE user_id = " . $users['user_id'];
aber es tut sich nix in der db.
(natürlich hab ich die spalte user_note eingefügt)

mach ich dabei nen ersichtlichen fehler?

gruß tobl
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

Code: Alles auswählen

if ( !$db->sql_query($sql) )
{
   message_die(GENERAL_ERROR, "Could not update user info.", '', __LINE__, __FILE__, $sql);
}
diesen Code hast du auch danach mit angefügt?

Außerdem heißt es

Code: Alles auswählen

$userdata['user_id']
und nicht

Code: Alles auswählen

$users['user_id']
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

habe den code jetzt von users in userdata geändert sowie general-error teil eingefügt.

beim testen erhalte ich folgenden fehler:
Could not update user info.

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near '' at line 3

UPDATE phpbb_users SET user_note = user_note = '1' WHERE user_id =

Line : 396
File : .../index.php
in dieser besagten line 369 befindet sich:

Code: Alles auswählen

message_die(GENERAL_ERROR, "Could not update user info.", '', __LINE__, __FILE__, $sql);
vielen dank
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

$userdata['user_id'] funktioniert nur, wenn folgendes am Anfang der jeweiligen Datei steht.

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

außerdem wird wohl

Code: Alles auswählen

SET user_note = user_note = '1' 
auch nicht funktionieren, wenn schon dann:

Code: Alles auswählen

SET user_note = '1' 
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Noch besser wäre folgendes.. :D
SET user_note = user_note + 1
Tobl
Mitglied
Beiträge: 54
Registriert: 26.12.2003 14:37
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von Tobl »

nun sieht der code folgendermaßen aus:

Code: Alles auswählen

    $sql = "UPDATE " . USERS_TABLE . "
            SET user_note = + 1
            WHERE user_id = ". $usersdata['user_id']

( !$db->sql_query($sql) )

   message_die(GENERAL_ERROR, "Could not update user info.", '', __LINE__, __FILE__, $sql);
}
aber ich erhalte diese meldung:
Parse error: parse error, unexpected T_STRING in .../index.php on line 396
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

Hallo,
$sql = "UPDATE " . USERS_TABLE . "
SET user_note = user_note + 1
WHERE user_id = ". $usersdata['user_id'];

( !$db->sql_query($sql) )

message_die(GENERAL_ERROR, "Could not update user info.", '', __LINE__, __FILE__, $sql);
}
Die jeweils roten Abschnitte sind falsch gewesen.

Gruß netzmeister
Gruß netzmeister
Die "Suche" ist euer Freund
Antworten

Zurück zu „Coding & Technik“