Avatar billede konder Nybegynder
04. marts 2007 - 14:26 Der er 2 kommentarer

kludder med update og delete og id-løkke

Hej eksperter. Jeg har 3 filer. Een der finder poster i databasen udfra en formular med dato. En formular der lister posterne op og hvor jeg kan update eller slette. Og dernæst opret.php:
<?php
if($_POST['knap']=='rediger'){
    $id = $_POST['id'];
    $ip = $_POST['ip'];
    $navn = $_POST['navn'];
    $tid = $_POST['tid'];
    $adr = $_POST['adr'];
    $emne = $_POST['emne'];
    $tekst = $_POST['tekst'];

include("../data/conn.php");

$sql="UPDATE bog SET navn='$navn', adr='$adr', emne='$emne', tekst='$tekst' WHERE id='$id'";
mysql_query($sql)or die(mysql_error());
echo "OK-Opdateringen er udført i selve databasen";
echo "$id";";//bare for at kontrollere hvilken den tager

}

if($_POST['knap']=='slet'){
    $id = $_POST['id'];

include("../data/conn.php");
$sqll="DELETE FROM bog WHERE id='$id'";
    mysql_query($sqll)or die(mysql_error());
echo "OK-Posten er slettet i selve databasen";
echo "$id";//bare for at kontrollere hvilken den tager
}
?>
Og her går det galt. Jeg får kludder i Id. Den tager det sidste id uanset hvad. Der må være noget galt i løkken, men jeg kan ikke selv gennemskue hvad.
Avatar billede jarret Nybegynder
04. marts 2007 - 15:33 #1
hvor er løkken ? :-) - er problemet at du ryger ind i den sidste if() state?

- hvis, vil jeg foreslå at du laver en:

echo "$_POST['knap']"; - i starten, problemet er vel at den er = 'slet' hver gang ikke?
Avatar billede konder Nybegynder
04. marts 2007 - 15:54 #2
nej -problemet er at det er den sidste id (højeste) der bliver slettet eller updatet.
her er min formular der viser korrekt udtræk fra databasen:

<?php
include "../data/conn.php";
$foresp = mysql_query("SELECT * FROM bog WHERE tid = '".$aar."-".$md."-".$dato."'")or die(mysql_error());
while ( $data = mysql_fetch_array($foresp) ) {?>
<TR><td> Datoen</td><td><input type='text' name='tid' style='width:400px;height:30px' value="<?php echo $data['tid']; ?>"></td></tr>
<tr>
<td> Ip</td><td><input type='text' name='ip' style='width:400px;height:30px' value="<?php echo $data['ip']; ?>"></td></tr><tr>
<td> Navn </td><td><input type='text' name='navn' style='width:400px;height:30px' value="<?php echo $data['navn']; ?>"></td></tr><tr>
<td> Emne </td><td><input type='text' name='emne' style='width:400px;height:30px' value="<?php echo $data['emne']; ?>"></td></tr><tr>
<td> Detaljer, historien</td> <td><input type='textarea' name='tekst' style='width:400px;height:30px' value="<?php echo $data['tekst']; ?>"></td></tr><tr>
<td>  Adresse </td><td><input type='text' name='adr' style='width:400px;height:30px' value="<?php echo $data['adr']; ?>"></td></tr><tr>
<td>  Id </td><td><input type='text' name='id' style='width:400px;height:30px' value="<?php echo $data['id']; ?>"></td></tr>
<tr>
<TD>&nbsp;</TD><TD><input type='hidden' name='id' style='width:400px;height:30px' value="<?php echo $data['id']; ?>"><input type='submit' name='knap' value='rediger'><input type='submit' name='knap' value='slet'></td></tr>

<?php
    }
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester