Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: edycja bazy MySQL + formularz = problem
Forum PHP.pl > Forum > PHP
mispolarny
hej, mam taki kod:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3.  
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  7.  
  8. <title>editt</title>
  9.  
  10. </head>
  11.  
  12. <body>
  13.  
  14. <?
  15. // łączymy się z bazą danych
  16. require "connection.php";
  17. // wywołujemy funkcję connection()
  18. connection();
  19.  
  20.  
  21. if(!isset($cmd))
  22. {
  23.  //wyswietla tabele
  24.  $result = mysql_query("select * from potencjalni order by id");
  25.  
  26.  echo "<table width='%100'>
  27.  <tr>
  28.  <td width='10%' align='center'>ID</td>
  29.  <td width='70%'>Nazwa firmy</td>
  30.  <td width='20%'>Akcja</td><tr>";
  31.  
  32.  while($r=mysql_fetch_array($result))
  33.  {
  34.  
  35. $title=$r["nazwa_f"];//wyciaga nazwe
  36. $id=$r["id"];//wyciaga ID
  37.  
  38. //robi link
  39.  echo "<td width='10%' align='center'>$id</td>
  40.  <td width='70%'>$title</td>
  41.  <td width='20%'><b><a href='edit.php?cmd=edit&id=$id'>Edytuj Informacje</a></b></td>
  42.  <tr>
  43.  ";
  44. }
  45.  echo "<td></td></tr></table><br />";
  46. }
  47. ?>
  48. <?
  49. if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
  50. {
  51.  if (!isset($_POST["submit"]))
  52.  {
  53. $id = $_GET["id"];
  54. $sql = "SELECT * FROM potencjalni WHERE id=$id";
  55. $result = mysql_query($sql);  
  56. $myrow = mysql_fetch_array($result);
  57. ?>
  58.  
  59. <div>Edycja dodanych firm</div>
  60. <form action="edit.php" method="post">
  61. <input type="hidden" name="id" value="<?php echo $myrow["id"] ?>" />
  62. <table width="100%" border="0" >
  63. <tr>
  64. <td colspan="4">
  65. <b>Nazwa firmy</b> <font color="red">*</font><br />
  66. <input name="nazwa_f" type="text" size="30" value="<?php echo $myrow["nazwa_f"] ?>" />
  67. </td>
  68. </tr>
  69. <tr>
  70. <td colspan="4">
  71. <b>Miejscowość:</b> <font color="red">*</font><br />
  72. <input name="place" type="text" size="30" value="<?php echo $myrow["place"] ?>" />
  73. </td>
  74. </tr>
  75. <tr>
  76. <td colspan="4">
  77. <b>Strona www:</b> <font color="red">*</font><br />
  78. <input name="www" type="text" size="30" value="<?php echo $myrow["www"] ?>" />
  79. </td>
  80. </tr>
  81. <tr>
  82. <td width="25%">
  83. <b>Osoba kontaktowa:</b> <font color="red">*</font><br />
  84. <input name="os_kontakt" type="text" size="30" value="<?php echo $myrow["os_kontakt"] ?>" />
  85. </td>
  86. <td width="25%">
  87. <b>E-mail:</b> <font color="red">*</font><br />
  88. <input name="email" type="text" size="30" value="<?php echo $myrow["email"] ?>" />
  89. </td>
  90. <td width="25%">
  91. <b>Dodał/ła:</b> <font color="red">*</font><br />
  92. <input name="added" type="text" size="30" value="<?php echo $myrow["added"] ?>" />
  93. </td>
  94. <td width="25%">
  95. <b>Zainteresowany:</b> <font color="red">*</font><br />
  96. <input name="interest" type="text" size="1" value="<?php echo $myrow["interest"] ?>" />
  97. </td>
  98. </tr>
  99. <tr>
  100. <td colspan="4" align="center">
  101. <br />
  102. <input type="hidden" name="cmd" value="edit" />
  103. <input name="submit" id="submit" type="submit" value="Edytuj" class="submit" />&nbsp;&nbsp;
  104. <input type="reset" name="reset" value="Reset" class="submit" />
  105. </td>
  106. </tr>
  107. </table>
  108. </form>
  109.  
  110. <? } ?>
  111. <?
  112.  if ($_POST["submit"])
  113.  {
  114.  $nazwa_f = $_POST["nazwa_f"];
  115.  $place = $_POST["place"];
  116.  $www = $_POST["www"];
  117.  $os_kontakt = $_POST["os_kontakt"];
  118.  $email = $_POST["email"];
  119.  $added = $_POST["added"];
  120.  $interest = $_POST["interest"];
  121.  
  122.  $sql = "UPDATE potencjalni SET nazwa_f='$nazwa_f',place='$place',www='$www',os_kontakt='$os_kontakt',email='$email',added='$added',interest='$interest' WHERE id=$id";
  123.  
  124. $result = mysql_query($sql);
  125. echo "Twój wpis został zaktualizowany";
  126.  }
  127. }
  128. ?>
  129.  
  130.  
  131. </body>
  132. </html>


i prawie wszystko dziala jak nalezy tylko ze jak updatuje jakis wpis z bazy to nie updatuje mi tego ktory wybralem tylko ostatnio dodany... (wyswietla go dobrze, tylko jak dam submit to wlasnie aktualizyju ostatnio dodany)

nie mam pojecia czemu tak sie dzieje... jesli ktos moglby mi pomoc bede bardzo wdzieczny!!
hubertinio
"Rzuć okien" na linię 53, gdzie przypisujesz id z tablicy get a formularz wysyłany jest postem, więc w zmiennej id jest nieaktualna wartość.
Jeżeli to nie pomoże, skorzystaj ze "śledzenia zmiennych" -> var_dump

...i chyba w klamrze od linii 112 brakuje przypisania nowego id: $id= $_POST["id"]; przez co w zapytaniu WHERE... jest jakieś nie wiadomo co...

ps. Linia 49: zapis if($_REQUEST["cmd"] == "edit") da taki sam rezultat
mispolarny
ok miales racje
zapomnialem dac zmienna id po where smile.gif
wielkie dzieki!!
To jest wersja lo-fi g³ównej zawarto¶ci. Aby zobaczyæ pe³n± wersjê z wiêksz± zawarto¶ci±, obrazkami i formatowaniem proszê kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.