Avatar billede pylle Nybegynder
13. august 2005 - 20:25 Der er 17 kommentarer og
1 løsning

Det virker ikke

Det virker ikke !!

Forespørgsel som her, den sletter det som stod før i db. efter valg af tlfnr
er der en der kan hjælpe ?


find.php

<html>
  <body>
 
<?php

$database = mysql_connect("localhost", "root", "");
mysql_select_db("test", $database);
?>

<?php
$result = mysql_query("SELECT id, tlfNr FROM nummer");
while(list($id, $tlfNr) = mysql_fetch_array($result)){
?>
<a href="redig.php?id=<?=$id;?>"><?=$tlfNr;?></a>
<?
}
?>

  </body>
</html>


redig.php

<html>
<body>
<?php

    $database = mysql_connect("localhost", "root", "");
    mysql_select_db("test", $database);
?>
<form method="post" action="<?=$PHP_SELF;?>">
<input type="text" name="felt1" value="<?=$tlfnr;?>">
<input type="submit" value="opdatér">
</form>

<?php
if($perform == "update"){
$SQL = "UPDATE nummer SET tlfnr='$tlfnr' WHERE id='$id'";
mysql_query($SQL);
}
?>
  </body>
</html>
Avatar billede leif Seniormester
13. august 2005 - 20:30 #1
Hvad gør den ikke eller hvad fejl melder den ?
Avatar billede nielle Nybegynder
13. august 2005 - 20:36 #2
Prøv at rette din kode til:

=== redig.php ===

<html>
<body>
<?php
$database = mysql_connect("localhost", "root", "");
mysql_select_db("test", $database);

if isset($_GET["id"])
{
    $id = $_GET["id"];
    $result = mysql_query("SELECT tlfNr FROM nummer WHERE id=" . $id);
    $row = mysql_fetch_assoc($result);
    $tlfnr = $row["tlfNr"];
}
else
    $tlfnr = $_POST["felt1"];
?>

<form method="post" action="<?=$PHP_SELF;?>">
<input type="text" name="felt1" value="<?=$tlfnr;?>">
<input type="submit" value="opdatér">
</form>

<?php
if ($perform == "update")
{
    $SQL = "UPDATE nummer SET tlfnr='$tlfnr' WHERE id='$id'";
    mysql_query($SQL);
}
?>
</body>
Avatar billede pylle Nybegynder
13. august 2005 - 20:38 #3
den melder ingen fejl, men når jeg taster et nyt nr ind sletter den bare det gamle nr
Avatar billede nielle Nybegynder
13. august 2005 - 20:39 #4
Formen skal også lige rettes til:

<form method="post" action="<?=$PHP_SELF;?>">
<input type="hidden" name="id" value="<?=$id?>">
<input type="text" name="felt1" value="<?=$tlfnr;?>">
<input type="submit" value="opdatér">
</form>
Avatar billede nielle Nybegynder
13. august 2005 - 20:42 #5
Jeg prøver lige igen:

=== redig.php ===

<html>
<body>
<?php
$database = mysql_connect("localhost", "root", "");
mysql_select_db("test", $database);

if isset($_GET["id"])
{
    $id = $_GET["id"];
    $result = mysql_query("SELECT tlfNr FROM nummer WHERE id=" . $id);
    $row = mysql_fetch_assoc($result);
    $tlfnr = $row["tlfNr"];
}
else
{
    $id = $_POST["id"];
    $tlfnr = $_POST["felt1"];
?>

<form method="post" action="<?=$PHP_SELF;?>">
<input type="hidden" name="id" value="<?=$id?>">
<input type="text" name="felt1" value="<?=$tlfnr;?>">
<input type="submit" value="opdatér">
</form>

<?php
if ($perform == "update")
{
    $SQL = "UPDATE nummer SET tlfnr='$tlfnr' WHERE id='$id'";
    mysql_query($SQL);
}
?>
</body>
</html>
Avatar billede nielle Nybegynder
13. august 2005 - 20:43 #6
Det er id'et du sender videre fra find.php og det skal så hentes igennem $_GET. Ud fra dette må du genfinde telefonnummeret i databasen. Dette lægger du ind som felt1 i din form og derfor skal det hentes igennem $_POST.
Avatar billede pylle Nybegynder
13. august 2005 - 20:45 #7
den skriver

Parse error: parse error, expecting `'('' in c:\appserv\www\rediger\redig.php on line 7
Avatar billede nielle Nybegynder
13. august 2005 - 20:49 #8
Ret:

if isset($_GET["id"])

- til:

if (isset($_GET["id"]))
Avatar billede nielle Nybegynder
13. august 2005 - 20:50 #9
... og såt den } ind som jeg uheldigvis har glemt i slutningen af:
...
else
{
    $id = $_POST["id"];
    $tlfnr = $_POST["felt1"];
}
Avatar billede pylle Nybegynder
13. august 2005 - 20:53 #10
efter ret af linje 7 skriver den
Parse error: parse error in c:\appserv\www\rediger\redig.php on line 35
Avatar billede nielle Nybegynder
13. august 2005 - 20:54 #11
Er det inklusiv den sidste rettelse jeg har angivet?
Avatar billede pylle Nybegynder
13. august 2005 - 20:55 #12
nej
Avatar billede pylle Nybegynder
13. august 2005 - 21:04 #13
virker altså ikke moske er der fejl i min db  'id' og 'tlfnr'
Avatar billede nielle Nybegynder
13. august 2005 - 21:14 #14
Det er altid en god ide at sætte noget fejl-håntering på sine databasekald. Det kaln hjælpe med at vise hvor og hvad det er som går galt:

=== redig.php ===

<html>
<body>
<?php
$database = mysql_connect("localhost", "root", "");
mysql_select_db("test", $database);

$update = "NEJ";

if (isset($_GET["id"]))
{
    $id = $_GET["id"];
    $result = mysql_query("SELECT tlfNr FROM nummer WHERE id=" . $id) or die(mysql_error());
    $row = mysql_fetch_assoc($result);
    $tlfnr = $row["tlfNr"];
}
else
{
    $update = "JA";
    $id = $_POST["id"];
    $tlfnr = $_POST["felt1"];   
}
?>

<form method="post" action="<?=$PHP_SELF;?>">
<input type="hidden" name="id" value="<?=$id?>">
<input type="text" name="felt1" value="<?=$tlfnr;?>">
<input type="submit" value="opdatér">
</form>

<?php
if ($update == "JA";)
{
    $SQL = "UPDATE nummer SET tlfnr='$tlfnr' WHERE id='$id'" or die(mysql_error());
    mysql_query($SQL);
}
?>
</body>
</html>
Avatar billede pylle Nybegynder
13. august 2005 - 21:22 #15
nu skriver den Parse error: parse error in c:\appserv\www\rediger\redig.php on line 31
Avatar billede nielle Nybegynder
13. august 2005 - 21:25 #16
Ret til:

if ($update == "JA")
Avatar billede pylle Nybegynder
13. august 2005 - 21:28 #17
Nu virker det tak for hjælpen
så kan jeg arbejde vidre jeg er lige begyndt med PHP og mysql
Avatar billede nielle Nybegynder
13. august 2005 - 21:30 #18
Svar :^)
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