Avatar billede clausberg Nybegynder
26. august 2006 - 21:44 Der er 2 kommentarer og
1 løsning

Update eksisterende data

Jeg er kørt fast i dette script. Jeg ønsker, at brugeren, der er logget ind med password og brugernavn, skal have mulighed for at rette i sin profil som jeg har gemt i en mysql database i tabellen "bruger". Jeg tager udgangspunkt i dette script. Med dette script får jeg altså vist de data der tidligere er indtastet på design, adresse og postnr - og dem vil jeg gerne give brugeren mulighed for at rette i.

<?php
$conn = mysql_connect("xxxx", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());

$result = mysql_query("SELECT * FROM bruger
WHERE design='$_GET[design]'") or die(mysql_error()); 

echo "<table border='1'>";
echo "<tr><td>design</td>";
echo "<td>adresse</td>";
echo "<td>postnr</td></tr>";

while($row = mysql_fetch_array( $result )) {
    echo "<tr><td>";
echo '<input type="text" name="design" value="'.$row[design].'">';
    echo "</td><td>";
echo '<input type="text" name="adresse" value="'.$row[adresse].'">';
    echo "</td><td>";
echo '<input type="text" name="postnr" value="'.$row[postnr].'">';
    echo "</td></tr>";
    echo "<tr><td height='5'></td></tr>";
}
echo "</table>";
?>

Men jeg kan ikke komme videre. Der er noget jeg gør galt. Skal jeg måske oprette en "form" ( <form action="updated.php" method="post">, ) hvor jeg har mulighed for at lave en <input type="Submit" value="Update">

Jeg er på bar bund :-)
Avatar billede viper_killerguy Nybegynder
26. august 2006 - 22:39 #1
ja, <form> og en <input type=submit> skal bruges,
hvis hvis du vil ændre alle elementerne skal du også
ha en form for id til finde den rigtige række
at ændre i databasen.
Dette kan gøers ved at sætte de "gamle" værdier med
f.eks. <input type=hidden.
Derefter kan det updateres med lidt php som f.eks.

if (isset($_POST['old_design']) && isset($_POST['old_adresse']) && isset($_POST['old_postnr'])) {
$post = array();
foreach($_POST as $k => $v)
  $post[$k] = htmlentities( get_magic_quotes_gpc()?$v:addslashes($v) );

mysql_query( sprintf("UPDATE bruger SET design='%s', adresse='%s', postnr='%s' WHERE design='%s' AND addresse='%s' AND postnr='%s'", $post['design'], $post['adresse'], $post['postnr'], $post['old_design'], $post['old_adresse'], $post['old_postnr) ) or trigger_error(mysql_error(), E_USER_ERROR);
}
Avatar billede clausberg Nybegynder
26. august 2006 - 23:11 #2
Er det noget i retningen af:

<?php
$conn = mysql_connect("xxxx", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());

$result = mysql_query("SELECT * FROM bruger
WHERE design='$_GET[design]'") or die(mysql_error()); 

<form action="updated.php" method="post">
design: <input type="text" name="design" value="<? echo $design; ?>"><br>
adresse: <input type="text" name="adresse" value="<? echo $adresse; ?>"><br>
postnr: <input type="text" name="postnr" value="<? echo $postnr; ?>"><br>
<input type="Submit" value="Update">
</form>

?>
Avatar billede clausberg Nybegynder
31. august 2006 - 19:11 #3
jeg lukker
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