login  Naam:   Wachtwoord: 
Registreer je!
 Forum

verkeerde id wordt geupdate

Offline derrtyones - 12/11/2008 14:35 (laatste wijziging 12/11/2008 14:41)
Avatar van derrtyonesNieuw lid
  1. <?
  2. require("connection.php");
  3.  
  4. //If cmd has not been initialized
  5. if(!isset($cmd))
  6. {
  7. //display all the paintings
  8. $result = mysql_query("select * from kleurplaten order by id");
  9.  
  10. //run the while loop that grabs all the paintings
  11. while($r=mysql_fetch_array($result))
  12. {
  13. //grab the title and the ID of the paintings
  14. $titel=$r["titel"];//take out the title
  15. $id=$r["id"];//take out the id
  16.  
  17. //make the title a link
  18. echo "<a href='editkleurplaten.php?cmd=edit&id=$id'>Edit - $titel</a>";
  19. echo "<br>";
  20. }
  21. }
  22. ?>
  23. <?
  24. if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
  25. {
  26. if (!isset($_POST["submit"]))
  27. {
  28. $id = $_GET["id"];
  29. $sql = "SELECT * FROM kleurplaten WHERE id=$id";
  30. $result = mysql_query($sql);
  31. $myrow = mysql_fetch_array($result);
  32. ?>
  33.  
  34. <form action="editkleurplaten.php" method="post">
  35. <p>
  36. <input type=hidden name="id" value="<?php echo $myrow["id"] ?>">
  37.  
  38. Titel:
  39. <INPUT TYPE="TEXT" NAME="titel" VALUE="<?php echo $myrow["titel"] ?>" SIZE=30>
  40. <br>
  41. <br>
  42. Link_klein:
  43. <INPUT TYPE="TEXT" NAME="link_klein" VALUE="<?php echo $myrow["link_klein"] ?>" SIZE=30>
  44. </p>
  45. <p>Link_groot:
  46. <INPUT TYPE="TEXT" NAME="link_groot" VALUE="<?php echo $myrow["link_groot"] ?>" SIZE=30>
  47. </p>
  48. <p>id:
  49. <INPUT NAME="id" TYPE="TEXT" id="id" VALUE="<?php echo $myrow["id"] ?>" SIZE=30>
  50. <br>
  51.  
  52. <input type="hidden" name="cmd" value="edit">
  53.  
  54. <input type="submit" name="submit" value="submit">
  55.  
  56. </p>
  57. </form>
  58.  
  59. <? } ?>
  60.  
  61. <?
  62. if ($_POST["submit"])
  63. {
  64. $titel = $_POST["titel"];
  65. $link_klein = $_POST["link_klein"];
  66. $link_groot = $_POST["link_groot"];
  67.  
  68. $sql = "UPDATE kleurplaten SET titel='$titel',link_klein='$link_klein',link_groot='$link_groot' WHERE id=$id";
  69.  
  70. $result = mysql_query($sql);
  71. echo "Bijgewerkt!";
  72. }
  73. }
  74. ?>


Ik heb een tabel "kleurplaten". Alles wordt netjes uitgelezen en op id gesorteerd. Maar als ik iets wil bijwerken dan pakt hij de verkeerde id nummer. De melding "Bijgewerkt" komt wel! Maar hij veranderd namelijk elke keer de laatste die in de database staat en niet die hij moet veranderen. 

1 antwoord

Gesponsorde links
Offline Kr4nKz1n - 12/11/2008 16:48 (laatste wijziging 12/11/2008 16:48)
Avatar van Kr4nKz1n Onbekend Dat klopt. Want jij zegt waar id=$id.
Sowieso gebruik je geen quotes. En daarnaast bestaat $id op dat moment niet omdat je net door een post bent gegaan.

Deze kun je mee geven in de url $_GET['id'] of via een hidden field $_POST['id']. En die ken je zie ik in je script.

Edit
Typo
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s