Sebastian: Code vereinfachen

Hi, ich habe einen Zahlenwert in einer MySQL Tabelle, der auf Knopfdruck geändert werden soll. Da das ganze meistens in 1er Schritten geändert wird, habe ich ein + und - Button für den Wert gemacht. Jetzt habe ich insgesamt 3 solcher Werte mit jeweils + und -.
Bisher habe ich einfach für jeden Button ein if geschrieben, was aber natürlich nicht schön aussieht und viel Platz verbraucht.

Deshalb meine Frage, wie man das ganze vereinfachen kann. Ich hab es schon mit einem switch versucht, aber das lässt sich hier wohl nicht anwenden. Ein einfaches else geht ja auch nicht, da sonst der Wert geändert wird auch wenn noch nichts geklickt wurde.

Hier mein bisheriger Code (wiederholt sich dann natürlich noch 2mal):

if($_REQUEST['minus_t'])
 {
 $Tutorials = $_POST['Tutorials']-1;
     mysql_query("UPDATE $TableNews SET Tutorials='$Tutorials' WHERE ID='".$_REQUEST['ID']."'");
 }

if($_REQUEST['plus_t'])
 {
 $Tutorials = $_POST['Tutorials']+1;
     mysql_query("UPDATE $TableNews SET Tutorials='$Tutorials' WHERE ID='".$_REQUEST['ID']."'");
 }

  1. Hello,

    man könnte die Sache etwas universeller angehen. Belege deine Buttons/Formulareelemente mit einem tatsächlichen Wert, z.B. -1 für den minus_t-Button.
    Prüfe im Skript lediglich, ob du einen gültigen Wert empfangen hast (und nicht z.B. -99.999) und überlasse die Berechnung dem Buttonwert:
    $sql = "UPDATE $TableNews SET Tutorials = '".($_POST["Tutorials"]+$_POST["update_value"] WHERE ID = '".$_REQUEST['ID']."'");

    Wie gesagt, unbedingt vorher die Werte prüfen, sonst fängst du dir da schnell ungewollte Änderungen ein.

    MfG
    Rouven

    --
    -------------------
    Computer programming is tremendous fun. Like music, it is a skill that derives from an unknown blend of innate talent and constant practice. Like drawing, it can be shaped to a variety of ends: commercial, artistic, and pure entertainment. Programmers have a well-deserved reputation for working long hours but are rarely credited with being driven by creative fevers. Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see. -- Larry OBrien and Bruce Eckel in Thinking in C#