Avatar billede crolesen Nybegynder
01. maj 2007 - 13:09 Der er 7 kommentarer og
1 løsning

Opdatering af mysql database

Jeg har denne kode, men når jeg prøver at opdatere bliver der ikke opdateret i databasen.




<?
include("../login/db.php");


//If cmd has not been initialized
if(!isset($cmd))
{
  //display all the news
  $result = mysql_query("select * from nyheder order by id");
 
  //run the while loop that grabs all the news scripts
  while($r=mysql_fetch_array($result))
  {
      //grab the title and the ID of the news
      $overskrift=$r["overskrift"];//take out the title
      $id=$r["id"];//take out the id
   
    //make the title a link
      echo "<a href='edit.php?cmd=edit&id=$id'>$id_$overskrift - Edit</a>";
      echo "<br>";
    }
}
?>
<?
if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
{
  if (!isset($_POST["submit"]))
  {
      $id = $_GET["id"];
      $sql = "SELECT * FROM nyheder WHERE id=$id";
      $result = mysql_query($sql);       
      $myrow = mysql_fetch_array($result);
      ?>
     
      <form action="edit1.php" method="post">
      <input type=hidden name="id" value="<?php echo $myrow["id"] ?>">
 
      Overskrift:<INPUT TYPE="TEXT" NAME="overskrift" VALUE="<?php echo $myrow["overskrift"] ?>" SIZE=30><br>
      Indhold:<input type="text" NAME="indhold" VALUE="<?php echo $myrow["indhold"] ?>"><br>
     
 
      <input type="hidden" name="cmd" value="edit">
 
      <input type="submit" name="submit" value="submit">
 
      </form>
 
<? } ?>
<?
  if ($_POST["$submit"])
  {
      $overskrift = $_POST["overskrift"];
      $indhold = $_POST["indhold"];
     
     
      $sql = "UPDATE nyheder SET overskrift='$overskrift',indhold='$indhold' WHERE id=$id";
      //replace news with your table name above
      $result = mysql_query($sql);
      echo "Databasen er nu opdateret.";
    }
}
?>




Det kan ikke være meget der skal rettes
Avatar billede bauerdata Nybegynder
01. maj 2007 - 13:19 #1
Prøv commit()
Avatar billede dkfire Nybegynder
01. maj 2007 - 15:00 #2
Prøv evt
$result = mysql_query($sql) or die(mysql_error());

Du mangler også at give en værdi til $id. Den er tom når du kører din update forspørgelse
Avatar billede crolesen Nybegynder
01. maj 2007 - 15:21 #3
bauerdata: commit()????

dkfire: det virkede ikke. Og hvilken værdi skal jeg give $id? Den er jo givet tidligere, eller hvad?
Avatar billede mclemens Nybegynder
01. maj 2007 - 16:05 #4
Eftersom din form method er post skal du så
ikke bruge $_POST["id"]; istedet for $_GET["id"] ?
Avatar billede mclemens Nybegynder
01. maj 2007 - 16:06 #5
Og det samme med $_GET["cmd"] -> $_POST["cmd"]
Avatar billede mclemens Nybegynder
01. maj 2007 - 16:07 #6
^ - ignorer sidste del, der stod jo
if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
Avatar billede dkfire Nybegynder
02. maj 2007 - 14:20 #7
Kommer den ikke med nogen fejl når du har sat or die(mysql_error()) ind ??
Når du kører denne kode så har $id ingen værdi.
if ($_POST["$submit"])
  {
      $overskrift = $_POST["overskrift"];
      $indhold = $_POST["indhold"];
     
     
      $sql = "UPDATE nyheder SET overskrift='$overskrift',indhold='$indhold' WHERE id=$id";
      //replace news with your table name above
      $result = mysql_query($sql);
      echo "Databasen er nu opdateret.";
    }

Du kunne så gøre:

if ($_POST['$submit'])
  {
      $overskrift = $_POST['overskrift'];
      $indhold = $_POST['indhold'];
      $id= $_POST['id'];
     
      $sql = "UPDATE nyheder SET overskrift='$overskrift',indhold='$indhold' WHERE id=$id";
      //replace news with your table name above
      $result = mysql_query($sql) or die(mysql_error());
      if( $result )
      {
        echo "Databasen er nu opdateret.";
      }else
        echo "Der blev ikke opdateret noget";
    }
Avatar billede crolesen Nybegynder
31. oktober 2007 - 11:03 #8
spg. lukket
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