Dan Storm wrote in dk.edb.internet.webdesign.serverside.php:
> Michael Lynggaard skrev:
> > Jeg har en fil (se_brugere.php) hvor jeg kan se alle brugere. I denne fil er der en knap
> > der hedder ret. Når jeg trykker åbner update_row.php, hvor jeg får alle brugere op i en
> > formular, hvor jeg kan slette og indtaste de ny oplysninger. Jeg kan bare ikke få dem ned i
> > databasen.
>
> Som Bertel siger, så udfører du for mange ting samtidig - og forkert. Du
> skal have lidt mere styr på din generelle brug af HTML og PHP.
>
> Jeg antager at du kender forskellene og anvendelsen af $_GET og $_POST
> (da det egentlig er et par af grundstenene i brugen af PHP).
>
> Hvis man tager dit 'rette' script og deler det op i en logisk rækkefølge
> sker der basalt set dette:
>
> Hent data(1) fra database fra $_GET["id"]
> OG
> vis data(1) i inputfelter
> OG
> Opdater data(1) i databasen med data(2) og data(1)
>
> Hvor data(1) er data fra din database og data(2) er din $_POST variabel
> som faktisk er, men alligevel benytter.
>
>
> Basalt set, skal der være mere opdeling, men det er nemmest at vise ved
> hjælp af et flowchart istedet, men altså - jeg kunne ikke tegne en lige
> streg på et stykke blank papir om jeg så havde en linial.. lineal.. you
> know...
>
> Lav noget mere opdeling af din kode.
>
> Din rette process kan sagtens deles op i to filer:
>
> Din update_row.php:
> <?php
>
> //connect to database
> $conn = mysql_connect("localhost", "root") or die(mysql_error());
> mysql_select_db("brugere",$conn) or die(mysql_error());
>
> $id = (int)$_GET["id"];
>
> $sql = "SELECT * FROM brugere WHERE id = ".$id." LIMIT 1";
> $result = mysql_query($sql);
>
> if(mysql_num_rows() == 0)
> die("Der kunne ikke findes en bruger");
>
> $id = mysql_result($result, 0, "id");
> $navn = mysql_result($result, 0, "navn");
> $alder = mysql_result($result, 0, "alder");
> $email = mysql_result($result, 0, "email");
> ?>
> <form action="submit_update.php" method="post">
> <div>
>
> <input type="hidden" name="id" value="<?php echo $id; ?>" />
> <input type="text" name="navn" value="<?php echo $navn; ?>" />
> <input type="text" name="alder" value="<?php echo $alder; ?>" />
> <input type="text" name="email" value="<?php echo $email; ?>" />
>
> <input type="submit" id="submit" value="Send" />
> </div>
> </form>
>
> Og så en fil kaldet submit_update.php:
> <?php
>
> //connect to database
> $conn = mysql_connect("localhost", "root") or die(mysql_error());
> mysql_select_db("brugere",$conn) or die(mysql_error());
>
> $id = (int)$_POST["id"];
>
> $navn = mysql_real_escape_string($_POST["navn"]);
> $alder = mysql_real_escape_string($_POST["alder"]);
> $email = mysql_real_escape_string($_POST["email"]);
>
> $sql = "UPDATE brugere SET navn='".$navn."', alder='".."',
> email='".$email."' WHERE id=".$id;
> mysql_query($sql);
>
> header("Location: se_brugere.php");
> exit;
>
> ?>
>
>
> To filer, som arbejder sammen - det vil lette dit arbejde med
> vedligeholdelsen og du slipper for at have alt for meget kode i en fil.
> Simpelt og elegant.
>
>
> --
> Dan Storm - storm at err0r dot dk /
http://err0r.dk
>
> People who claim they don't let little things bother
> them have never slept in a room with a single mosquito.
Hej Dan
Jeg har lavet de to filer du nævner men får denne fejl når jeg prøver at åbne update_row.php fra
se_brugere.php
Warning: Wrong parameter count for mysql_num_rows() in C:\wamp\www\test\update_row.php on line
14
Der kunne ikke findes en bruger
Har du en løsning
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials