MarcelS85 10 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Hi, hab mal wieder ein PHP problem :rolleyes: ich möchte gerne daten in einer tabelle updaten über eine zeile funktionierts, aber leider nicht über mehrere Code sieht wie folgt aus: mysql_query("UPDATE `ranking` SET punkte='".$_POST["punkte"]."' WHERE id='".$_POST["id"]."'"); es wird leider immer nur der datensatz des letzten eintrages geändert Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Off-Topic:Wären deine PHP-Themen nicht besser im Skripting-Forum aufgehoben? Zitieren Link zu diesem Kommentar
MarcelS85 10 Geschrieben 1. April 2008 Autor Melden Teilen Geschrieben 1. April 2008 stimmt, gar nich drüber nachgedacht bitte mal veschieben ^^ Zitieren Link zu diesem Kommentar
zahni 554 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Das dürfte eher ein SQL-Problem sein. Was willst Du genau machen ? Schau mal hier: UPDATE zum Aktualisieren existierender Zeilen -Zahni Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Je nachdem... SQL-technisch ist das Statement meiner Meinung nach sauber... Ich frage mich wie .$_POST["id"].[/Code] befüllt wird... Kannst du ein wenig mehr Code drum rum posten? Zitieren Link zu diesem Kommentar
MarcelS85 10 Geschrieben 1. April 2008 Autor Melden Teilen Geschrieben 1. April 2008 ich habe eine tabelle mit folgenden feldern: id, name, punkte so, wenn ich nun in ein formular für jeden spieler die erzielten punkte eintrage, dann sollen die punkte für ALLE spieler in der tabelle aktualisiert werden. (ich sortiere die spieler nach punkten) leider wird aber immer nur die punktzahl des spielers aktualisiert der in dem formular ganz unten steht if($_POST["btnSubmit"]) { mysql_query("UPDATE `ranking` SET punkte='".$_POST["punkte"]."' WHERE id='".$_POST["id"]."'"); } SELECT ... <form name="update" action="index.php?content=eintrag method="POST"> <input type="hidden" name="id" value=$ranking["id"]></input> <input type="text" name="punkte"></input> <input type="submit" name="btnSubmit" value="Eintragen"></input> </form> Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Und warum dann die Selektion auf WHERE id='".$_POST["id"]."'" Damit selektierst du für das Update doch nur genau 1 Datensatz, nämlich den mit DER ID ;) Zitieren Link zu diesem Kommentar
MarcelS85 10 Geschrieben 1. April 2008 Autor Melden Teilen Geschrieben 1. April 2008 arg, hab vergessen die WHILE-Schleife mit zu posten, also es gibt ja dann quasi mehrere PUNKTE, IDs, usw. deshalb das $_POST["id"] ich dachte damit sag ich dem Herrn SQL das er immer den satz aktualisieren soll der zu der id gehört, solange bis alle durch sind, und nich nur einen Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 1. April 2008 Melden Teilen Geschrieben 1. April 2008 Dann scheint in genau dieser While-Schleife das Problem zu liegen. Die Variable wird nämlich nicht aktualisiert. Bastel dir doch mal ne Debugausgabe, welche dir bei jedem Durchlauf der While-Schleife den Inhalt von $_POST["id"] ausgibt, dann wirst du sehen was ich meine. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.