Avatar billede hestekongen Nybegynder
14. september 2005 - 23:22 Der er 2 kommentarer

php og mysql, UPDATE tabel

Hej, jeg er ved at lave en simpel side, hvor man kan afkrydse to datoer. Jeg har fået siden til at hente informationerne fra tabellen, men når brugeren har rettet i dem, skal jeg have siden til at køre en UPDATE sql streng, og det har jeg lidt knas med - der bliver ikke opdateret noget som helst i databasen når man trykker på "opdater"

Her er min kode, jeg er overbevist om at det er en lille ting, et eller andet sted, men jeg har bare set mig blind på det:

<?php
$conn = mysql_connect("dhcppc1", "user", "pass");
mysql_select_db("database");

//Det er sådan set her den skulle opfange informationerne om ændringerne
//jeg har tjekket om $save_navn, $save_dato1 og $save_dato2 indeholder de rigtige data, og den er god nok.

if (isset($HTTP_POST_VARS['Opdater'])) {
$save_navn = $_REQUEST["boxnavn"];
$save_dato1 = $_REQUEST["box1"];
$save_dato2 = $_REQUEST["box2"];


//Jeg kunne forestille mig at sql strengen ikke bliver eksekveret nedenfor, men jeg vil gerne have et par friske øjne på det.

$sql ="UPDATE lan SET dato1 = '$save_dato1' WHERE navn = '$save_navn' AND dato1 = '$save_dato1' AND dato2 = '$save_dato2'";
$results = mysql_query($sql);
}

$query="select * from lan";
$rt=mysql_query($query);

?>
<table width="40%"  border="1">
  <tr>
    <th scope="col">Navn</th>
    <th scope="col">7-8-9?</th>
    <th scope="col">14-15-16?</th>
  </tr>
  <?php
 
while($nt=mysql_fetch_array($rt)){
if ($nt[dato1] == 'on')
{
$checked1 = 'checked';
}
else
{
$checked1 = '';
}

if ($nt[dato2] == 'on')
{
$checked2 = 'checked';
}
else
{
$checked2 = '';
}

echo "<form method=POST action=vote.php><tr><td><input type=text name=boxnavn readonly value=$nt[navn]></td> <td><input type=checkbox name=box1 $checked1>$nt[dato1]</td> <td><input type=checkbox name=box2 $checked2>$nt[dato2]</td><td><input type=submit value=Opdater name=Opdater></td></tr></form>";;

}?>

</table>


Håber en eller anden kan give mig et praj om hvad jeg gør forkert.
Mvh Mikael
Avatar billede jaw Nybegynder
14. september 2005 - 23:25 #1
$sql ="UPDATE lan SET dato1 = '$save_dato1' WHERE navn = '$save_navn' AND dato1 = '$save_dato1' AND dato2 = '$save_dato2'";

Når du ændrer i $save_dato1 vil dato1 jo aldrig være = $save_dato1, forstår du? Kig på din where.
Avatar billede jaw Nybegynder
14. september 2005 - 23:27 #2
Med andre ord, så prøv at fjerne AND dato1 = 'save_dato1' :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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