• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Benutzeroberfläche Problem (PHP und Javascript)

manager17

Mitglied
Hey Com,

Ich habe irgendwelche Probleme mit meinem Code:
Die Benutzeroberfläche ist so aufgebaut:
Eine Tabelle, wo von der Datenbank die personen aufgelistet sind die man dann ändern oder löschen kann über einen Javascript hyperlink. In ersten Tabellemreihe ist eine leere Zeile wo man ein Datensatz hinzufügt, bei den anderen sind die personen aufgelistet.

Beim hinzufügen des Datensatzes Problem: MySQL-Error: Duplicate entry '0' for key 'PRIMARY'

Datensatz ändern: MySQL-Error: Unknown column 'id' in 'where clause'

Datensatz löschen: passiert nichts nur eine Information auf dem Bildschirm ob ich es wirklich löschen möchte..

hier der Code alles in einem php Programm:

Code:
<html>

<head>

<link rel="stylesheet" href="link.css" type="text/css">


<script type="text/javascript">
function send(ak,id)
{
if(ak==0)
document.f.ak.value = "in";
else if(ak==1)
document.f.ak.value = "up";
else if(ak==2)
{
if(confirm("Datensatz mit id " + id + " löschen?"))
document.f.ak.value = "de";
else
return;
}
document.f.id.value = "id";
document.f.submit();
}
</script>

</head>

<body>

<?php
$con = mysqli_connect("xx", "dbname", "pw");
mysqli_select_db($con, "db");

if(isset($_POST["ak"]))
{

    if($_POST["ak"]=="in")
    {
    $sql = "insert personen" . "(name, vorname, personalnummer, gehalt) values " . "('" . $_POST["na"][0] . "', '" . $_POST["vn"][0] . "' , '" . $_POST["ps"][0] . "' , '" . $_POST["gh"][0] . "')";
    mysqli_query($con, $sql)
    or die ("MySQL-Error: " . mysqli_error($con));
    }
   
    else if($_POST["ak"]=="up")
    {
    $id = $_POST["id"];
    $sql = "update personen set " . " name = '" . $_POST["na"][$id] . "' , " . " vorname = '" . $_POST["vn"][$id] . "' , " . " personalnummer = '" . $_POST["ps"][$id] . "' , " . " gehalt = '" . $_POST["gh"][$id] . "' " . " where personalnummer = $id";
    mysqli_query($con, $sql)
    or die("MySQL-Error: " . mysqli_error($con));
    }
   
    else if($_post["ak"]=="de")
    {
    $sql = "delete from personen where personalnummer = '" . $_POST["id"];
    mysqli_query($con, $sql)
    or die ("MySQL-Error: " . mysqli_error($con));
    }
}

echo "<form name='f' action='index.php' method='post'>";
echo "<input name='ak' type='hidden'>";
echo "<input name='id' type='hidden'>";

echo "\n\n<table border>" . "<tr>" . "<td>Name</td>" . "<td>Vorname</td>" . "<td>Personalnummer</td>" . "<td>Gehalt</td>" . "<td>Aktion</td>" . "</tr>";

echo "\n\n<tr>" . "<td><input name='na[0]' size='10'></td>" . "<td><input name='vn[0]' size='10'></td>" . "<td><input name='ps[0]' size='5'></td>" . "<td><input name='gh[0]' size='5'></td>"
. "<td><a href='javascript:send(0,0);'> neu eintragen</a></td>" . "</tr>";

$res = mysqli_query($con, "select * from personen");
while ($dt = mysqli_fetch_assoc($res))
{
$id = $dt["personalnummer"];
echo "\n\n<tr>" . "<td><input name='na[$id]' value='" . $dt["name"] . "' size='10'></td>" . "<td><input name='vn[$id]' value='" . $dt["vorname"] . "' size='10'></td>"
. "<td><input name='ps[$id]' value='" . $dt["personalnummer"] . "' size='5'></td>" . "<td><input name='gh[$id]' value='" . $dt["gehalt"] . "' size='5'></td>"
. "<td><a href='javascript:send(1,$id);'>ändern </a>" . "<a href='javascript:send(2,$id);'> löschen</a></td>" . "</tr>";
}
echo "</table>";
echo "</form>";

mysqli_close($con);
?>

</body>

</html>

Hier eine übersicht: http://inter.national-server.bplaced.de/live access/index.php
 
Werbung:
Hallo,

also die SQL fehler ausgaben sollten doch einiges helfen.
Beim update änderst personalnummer was auch im where ist?
Beim insert das gleiche ist personalnummer PRIMARY Key und vielleicht doppelt vergeben?

vielleicht reicht das ja zum weiter kommen.

Cheffchen
 
Zurück
Oben