Frage von mrbubble1234, 49

PHP SQL Interface?

Ich bin grade dabei für ein Admininterface Buttons zu erstellen, die auf einer SQL Datenbank einen Wert erhöhen bzw niedriger machen (je um 1), diese Buttons werden je nach Zeilenanzahl automatisch generiert und kommen pro Zeile dazu (je ein wert hoch und ein wert runter knopf). Ich bin mit PHP erst Anfänger, mit mySQL komme ich recht gut zurecht. Die bereits funktionierende Abfrage aus der Datenbank mache ich mit diesem Code, der auch funktioniert (vlt nicht die sauberste Lösung ist (logindaten sind unkenntlich gemacht, funktionieren aber) Das Interface sieht bis jetzt so aus und ist aber erst ein Test:

http://pastebin.com/UmQQVein

Ich hoffe ihr könnt mir helfen und zeigen, wie jede Person zwei eigene Button (automatisch) bekommt, je einen für "RangUp" (RangID + 1) und "RangDown" (RangID -1)

Vielen Dank schonmal! (sry für die formatierung, bekomme das hier nicht hin)

Antwort
von Dory1, 31
foreach ($pdo->query($sql) as $reihe) {
    echo "<form>";
echo $reihe['Name']."<br>";
echo "Rang: ".$reihe['RangID']."<br>";

echo '<button name="RangUp" value="' . $reihe['RangID'] . '" type="submit">Rang Up</button>';
echo '<button name="RangDown" value="' . $reihe['RangID'] . '" type="submit">Rang Down</button>';

echo "</form>";
}

Dann kannst du in deinem Skript wie folgt abfragen:
<?php
if (isset($_POST['RangUp'])) { // datenbanklogik hier ...
echo "Rang ID " . $_POST['RangUp'] . " updated"; }
Kommentar von mrbubble1234 ,

Vielen Dank schonmal, das ist genau das was ich gesucht habe! Jetzt habe ich noch die Indexspalte "ID", habe das Value der Buttons durch diese ersetzt. Wie kann ich jetzt je nur denjenigen per SQL erhöhen, der die ID des jeweiligen Buttons hat? z.b. drücke ich den Button, der die ID 3 zugewiesen bekommen hat und möchte mit diesem nur genau diesen Updaten. Was müsste ich dann im "WHERE" bei SQL hinten verändern? Wie kann ich diese Variable dort einbinden?

Kommentar von maximilianus7 ,

$id = $_POST['id'];

...

"... WHERE id = $id"

(angenommen die spalte id ist numerich)

Antwort
von threadi, 30

Das Statement zum Erhöhen hast Du ja schon. Jetzt musst Du es nur noch ausführen. Dazu solltest Du das Erhöhen VOR das Auslesen der Werte setzen und dann mit query() losschicken.

Keine passende Antwort gefunden?

Fragen Sie die Community