Hi, ich lasse mir die Daten aus einer DB in einer Tabelle ausgeben.
Nun möchte ich wenn ich auf die checkbox klicke die Daten ändern. Das mache ich so:
Das klappt auch gut solange nur ein Eintrag in der DB ist, wenn dort 2 oder mehr Datensätze vorhanden sind, bekomme ich eine Fehlermeldung.
Fehlermeldung: Duplicate entry '182' for key 1
Es ist auch egal ob ich den 1 oder einen anderen Datensatz anklicke kommt immer die Fehlermeldung. Habe ich nur noch einen Datensatz in der DB dann funktioniert die Änderung. Ich weiß leider nicht wieso er den Fehler ausgibt.
PHP:
$sql = "SELECT * FROM User";
$result = mysql_query($sql) or die(mysql_error());
echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="GET">';
if ($result){
$number =mysql_num_rows($result);
if(empty($number)){
echo " Alle Datensätze gelöscht!";
}else{
echo "<table border=1><tr>";
$row=mysql_fetch_array($result,MYSQL_ASSOC);
while ($field = key($row))
{
echo '<th>'.ucwords($field).'</th>';
next($row);
}
echo "</tr><tr><td>";
echo'<input type="checkbox" name="up" value="'.$row['U_ID'].'">';
echo implode ("</td><td>",$row);
echo "</td></tr>";
while ($row =mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<tr><td>";
echo'<input type="checkbox" name="up" value="'.$row['U_ID'].'">';
echo implode ("</td><td>",$row);
echo "</td></tr>";
}
echo "</table>";
echo"<br/>";
}
}
echo'<input type="submit" name="aendern" value="aendern" />';
Nun möchte ich wenn ich auf die checkbox klicke die Daten ändern. Das mache ich so:
PHP:
if(isset($_GET['submit'])) {
$sql = "UPDATE
user
SET
U_ID = '".($_GET['up'])."'";
mysql_query($sql) OR die(mysql_error());
}
if(isset($_GET['aendern'])) {
$sql = "SELECT
U_ID
FROM
user
Where U_ID=".$_GET['up']."";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
echo " <p>\n";
echo " Eigene Daten bearbeiten\n";
echo " </p>\n";
echo " <ol>\n";
echo " <li>\n";
echo " <label for=\"name\">Name</label>\n";
echo " <input type=\"text\" name=\"up\" id=\"name\" value=\"".$row['U_ID']."\"/>\n";
echo"<input type=\"submit\" name=\"submit\" value=\"Speichern\" />\n";
echo " </li>\n";
echo " </ol>\n";
}
echo"</form>";
Das klappt auch gut solange nur ein Eintrag in der DB ist, wenn dort 2 oder mehr Datensätze vorhanden sind, bekomme ich eine Fehlermeldung.
Fehlermeldung: Duplicate entry '182' for key 1
Es ist auch egal ob ich den 1 oder einen anderen Datensatz anklicke kommt immer die Fehlermeldung. Habe ich nur noch einen Datensatz in der DB dann funktioniert die Änderung. Ich weiß leider nicht wieso er den Fehler ausgibt.