Code vereinfachen
Sebastian
- php
1 Rouven
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']."'");
}
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