Avatar billede farhang Nybegynder
02. oktober 2006 - 21:15 Der er 2 kommentarer og
1 løsning

Problem med add og edit i php!

Jeg sidder lige og prøver at lave et edit og et add function til min mysql, men har problem med at få det til at virke, min kode ser sådan ud:

add.php:
<?php
$conn = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die(mysql_error());
$db = mysql_select_db("xxxxx")
  or die(mysql_error());

  if($submit)
      $products_name = $_POST['products_name'];

              if(!$title){ 
                    echo "Error: ";
                    exit();
end of if

        $result = mysql_query("INSERT INTO products (products_name)
                      VALUES ('$products_name',NOW())");
          //print success message.
          echo "<meta http-equiv=Refresh content=4;url=index.php>";
  }//end of if($submit).


  // If the form has not been submitted, display it!
else
  {//begin of else

      ?>
      <br>
      <h3>::Add</h3>

      <form method="post" action="<?php echo $PHP_SELF ?>">

      Title: <input name="title" size="40" maxlength="255">
      <br>
      Text1: <textarea name="text1"  rows="7" cols="30"></textarea>
      <br>
      Text2: <textarea name="text2" rows="7" cols="30"></textarea>
      <br>
      <input type="submit" name="submit" value="Add News">
      </form>
      <?
  }//end of else
 
 
?>

edit.php:
<?php
$conn = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die(mysql_error());
$db = mysql_select_db("xxxxx")
  or die(mysql_error());


  if($submit)
  {

      $products_navn = $_POST['products_navn'];

        $result = mysql_query("UPDATE products SET products_navn='$products_navn' WHERE products_prodnum='$products_prodnum'");

                    header("location: produkter.php");
}
elseif($products_prodnum)
{

        $result = mysql_query("SELECT * FROM products WHERE products_prodnum='$products_prodnum' ");
        while($myrow = mysql_fetch_assoc($result))
            {
                $products_navn = $row["products_navn"];

?>
<br>
<h3>::Edit </h3>

<form method="post" action="<?php echo $PHP_SELF ?>">
<input type="hidden" name="products_prodnum" value="<?php echo $row['products_prodnum']?>">

Title:
<input name="products_navn" size="40" maxlength="255" value="<?php echo $row["products_navn"] ?>">

<input type="submit" name="submit" value="UPDATE products">
</form>
<?
              }//end of while loop

  }//end else
?>

Hvad gør jeg forkert?
Avatar billede mysli Nybegynder
02. oktober 2006 - 22:01 #1
Først og fremmest ville jeg nok bruge if(isset($_POST['submit'])){

Det undrer mig i det hele taget du skifter mellem at bruge $_POST og bare bruger fx $title, som global.

Din query i add er også forkert syntaks:
$result = mysql_query("INSERT INTO products (products_name)
                      VALUES ('$products_name',NOW())");

Går ud fra den skal se således ud, eller lign.
$result = mysql_query("INSERT INTO products (products_name, time)
                      VALUES ('$products_name',NOW())");
Avatar billede farhang Nybegynder
03. oktober 2006 - 00:19 #2
Hej,

Jeg har skrevet nu kode:

edit.php:
<?php
$conn = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die(mysql_error());
$db = mysql_select_db("xxxxx")
  or die(mysql_error());
?>
<table border="0" width="785" cellspacing="1" cellpadding="3" align="center">
<form action="save.php" method="post">
<input type="hidden" value="<?= $row['products_prodnum'] ?>" name="products_prodnum" size="1">
    <tr>
    <td width="20%" valign="bottom"><font class="undermenu"><b>Varernr.</b></td>
    <td width="20%" valign="bottom"><font class="undermenu"><b>Navn</b></td>
    <td width="20%" valign="bottom"><font class="undermenu"><strong>Size</strong></td>
    <td width="20%" valign="bottom"><font class="undermenu"><b>Pris</b></td>
    <td width="20%" valign="bottom"><font class="undermenu"><b>Kategori</b></td>
  </tr>
    <tr>
      <td><font class="undermenu"><?= $row['products_prodnum'] ?></td>
      <td><input type="text" value="<?= $row['products_navn'] ?>" name="products_navn" size="20" /></td>
      <td><input type="text" value="<?= $row['products_size'] ?>" name="products_size" size="20" /></td>
      <td><input type="text" value="<?= $row['products_pris'] ?>" name="products_pris" size="20" /></td>
      <td><input type="text" value="<?= $row['products_type'] ?>" name="products_type" size="20" /></td>
    </tr>
    <tr>
      <td colspan="5" valign="bottom"><font class="undermenu"><b>Beskrivelse:</b></td>
    </tr>
    <tr>
      <td colspan="5"><textarea name="products_beskrivelse" cols="94" rows="5"><?= $row['products_beskrivelse'] ?></textarea></td>
    </tr>
    <tr>
      <td colspan="3"><font class="undermenu"><b>Stort billede:</b></td>
      <td colspan="2"><font class="undermenu"><b>Lille billede:</b></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><img src="<?= $row['products_imageurl'] ?>" width="400" height="400" border="0"></td>
      <td colspan="2" valign="top"><img src="<?= $row['products_thumbnailimageurl'] ?>" width="95" height="95" border="0" /></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><input type="text" value="<?= $row['products_imageurl'] ?>" name="products_type" size="45" /></td>
      <td colspan="2" valign="top"><input type="text" value="<?= $row['products_thumbnailimageurl'] ?>" name="products_type" size="45" /></td>
    </tr>
    <tr>
      <td colspan="5" align="center" valign="middle"><input type="hidden" name="action" value="add" />
<input type="submit" value="ret"></td>
    </tr>
    </form>
</table>

save.php:
<?php
$conn = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die(mysql_error());
$db = mysql_select_db("xxxxx")
  or die(mysql_error());
?>

if($_POST[action] =="add")
{
mysql_query("UPDATE products SET products_navn ='$_POST[products_navn]', products_size ='$_POST[products_size]', products_pris ='$_POST[products_pris]', products_type ='$_POST[products_type]', products_beskrivelse ='$_POST[products_beskrivelse]', products_imageurl ='$_POST[products_imageurl]', products_thumbnailimageurl ='$_POST[products_thumbnailimageurl]' WHERE products_prodnum ='$_POST[products_prodnum]'") or die(mysql_error());

$status = Opdateret;
}
                    header("location: produkter.php");
?>

Og det virker på nær products_type, hvis man ændre tallet, så opdaterer den det til 0, kan du se hvad jeg gør forkert?

Kan jeg tilføje tidspunkt for ændring af record? Jeg har datoen i databasen.

Forresten kan jeg kopierer koden til add functionen også?
Avatar billede farhang Nybegynder
03. oktober 2006 - 15:41 #3
Nå, jeg løste selv problemmet.
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