Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Mit Formular Datenbankfelder aktualisieren
#1
Hallo,

ich habe ein eigenes Formular.

Wenn der User das Formular ausgefüllt hat und auf "Absenden" klickt, sollen in der Tablle mybb_users das Datenfeld "table_name_1" um +1 erhöht werden
PHP-Code:
UPDATE mybb_users SET table_name_1 table_name_1 '1' WHERE uid 'aktueller User'
erhöht werden

und in einem weitereren Datenfeld "table_name_2" der aktuelle timestamp
PHP-Code:
UPDATE mybb_users SET table_name_2 'unixtime' WHERE uid 'aktueller User'
eingetragen werden.

Die Datenfelder "table_name_1" und "table_name_2" sind jeweils als "INT" mit "Size 10" und "unsigned" mit Default "0" angelegt.

Hätte mir jemand eine Lösung was im Formular [Sendebutton hat den Syntax (name"anfrage"] hinsichtlich PHP definiert werden muss um das gewünschte Ergebnis erreichen zu können? Sollte eine Kostenerstattung gewünscht sein, vorab bitte eine PN.

Denke es können viele User an einer Lösung partizipieren. Besten Dank für eine Unterstützung.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#2
Ich kann jetzt meine Anfrage näher spezifizieren. Im Template des Formulars wird nachstehender PHP-Code (wegen den Bedingungen) funktionierend verwendet:

PHP-Code:
<?php
    
if ($mybb->user['datenfeld_1'] == OR $mybb->user['datenfeld_2'] < time() - (60*60*24*365)) {
    echo "<input type=\"submit\" name=\"daten_agree\" value=\"{$lang->text_1}\" class=\"button\">";
    echo "<br /><br /><input type=\"reset\" name=\"reset\" value=\"{$lang->text_3}\" class=\"button\">";
    } else {
    echo "<input type=\"submit\" name=\"daten_agree\" value=\"{$lang->text_2}\" class=\"button\">";    
    echo 
"{$lang->text_4}";
    echo "<br /><input type=\"reset\" name=\"reset\" value=\"{$lang->text_3}\" class=\"button\">";
    }
?>
Wie kann ich erreichen, das wenn der Input-Button [mit "daten_agree" (text_1)} angeklickt wird, in der Datenbank zwei Felder aktualisiert werden. Datenfeld 1 soll um "1" erhöht werden, Datenfeld 2 soll den aktuellen Timestamp erhalten.

Im MySQL-Dumper erfolgreich eingegeben lauten die SQL-Befehle:
PHP-Code:
UPDATE mybb_users SET datenfeld_1 datenfeld_1 '1' WHERE uid 1;
UPDATE mybb_users SET datenfeld_2 UNIX_TIMESTAMP() WHERE uid 1
wobei das "WHERE =" entfällt, da das Template bereits mit den Userdaten des aktiven User verknüpft ist.

Ich bin guten Mutes, das es für vorstehende Anforderung eine umsetzbare Lösung gibt.

Vorab besten Dank für jedwede Hilfestellung.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#3
Um updates zusammen zu fassen, kannst es mit diesem array versuchen.

PHP-Code:
$update_array = array(
    
"datenfeld_1" => datenfeld_1 +1,
    
"datenfeld_2" => UNIX_TIMESTAMP()
);
$db->update_query("users"$update_array"uid='".$mybb->user['uid']."'"); 
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#4
(13.05.2018, 12:22)MrBrechreiz schrieb:
PHP-Code:
code 
Danke für Dein Engagement.

Zuerst habe ich Deinen Code zwischen "}" und "?>" eingebunden, was zur Folge hatte das nur noch die Buttons (jedoch nicht mehr das Formular selbst) angezeigt werden.

Dann die "}" versetzt vor "?>", zeigt wieder alles korrekt an und das Formular funktioniert. Nach dem Absenden wird jedoch kein Datenfeld aktualisiert.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#5
Vielleicht wäre es besser, hier den kompletten Code einzustellen. So ist es vielleicht schwer zu erraten, wo welches Problem besteht.
Eines aber noch zu deinen o.a. Zeilen: du hast zwei Buttons mit dem selben Namen. Das könnte Probleme verursachen.
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Formular mit Email und Benutzer erstellung lytcraft 0 1.225 23.03.2017, 13:28
Letzter Beitrag: lytcraft