Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]edycja rekordow PHP, przy edycji, dodaje sie nowy rekord
areal
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 7.07.2015

Ostrzeżenie: (0%)
-----


  1. <form action="index.php" method="post">
  2. imię:<br />
  3. <input type="text" name="imie" /><br />
  4. e-mail:<br />
  5. <input type="text" name="email" /><br />
  6. <input type="submit" value="dodaj" />
  7. </form>
  8.  
  9.  
  10.  
  11.  
  12. <?php
  13. // odbieramy dane z formularza
  14. $imie = $_POST['imie'];
  15. $email = $_POST['email'];
  16. require("connection.php");
  17. // ładujemy plik z połączeniem
  18. connection();
  19. if($imie and $email) {
  20.  
  21. // łączymy się z bazą danych
  22.  
  23.  
  24. // dodajemy rekord do bazy
  25. $ins = @mysql_query("INSERT INTO test SET imie='$imie', email='$email'");
  26.  
  27. if($ins) echo "Rekord został dodany poprawnie";
  28. else echo "Błąd nie udało się dodać nowego rekordu";
  29.  
  30. mysql_close($connection);
  31. }
  32.  
  33.  
  34.  
  35. /*
  36.   połączenie z bazą sobie darujemy
  37.   opisane jest ono w tej poradzie
  38.   <a href="http://www.kess.com.pl/?sid=10&pid=32" target="_blank">http://www.kess.com.pl/?sid=10&pid=32</a>
  39.   */
  40.  
  41. /* zapytanie do konkretnej tabeli */
  42. $wynik = mysql_query("SELECT * FROM test")
  43. or die('Błąd zapytania');
  44.  
  45. /*
  46.   wyświetlamy wyniki, sprawdzamy,
  47.   czy zapytanie zwróciło wartość większą od 0
  48.   */
  49. if(mysql_num_rows($wynik) > 0) {
  50. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  51. echo "<table cellpadding=\"2\" border=1>";
  52. while($r = mysql_fetch_object($wynik)) {
  53. echo "<tr>";
  54. echo "<td>".$r->imie."</td>";
  55. echo "<td>".$r->email."</td>";
  56. echo "<td>
  57. <a href=\"index.php?a=del&amp;id={$r->id}\">DEL</a>
  58. <a href=\"index.php?a=edit&amp;id={$r->id}\">EDIT</a>
  59. </td>";
  60. echo "</tr>";
  61. }
  62. echo "</table>";
  63. }
  64.  
  65. $a = trim($_REQUEST['a']);
  66. $id = trim($_GET['id']);
  67.  
  68. if($a == 'edit' and !empty($id)) {
  69. /* zapytanie do tabeli */
  70. $wynik = mysql_query("SELECT * FROM test WHERE
  71. id='$id'")
  72. or die('Błąd zapytania');
  73. /*
  74.   wyświetlamy wyniki, sprawdzamy,
  75.   czy zapytanie zwróciło wartość większą od 0
  76.   */
  77. if(mysql_num_rows($wynik) > 0) {
  78. /* odczytujemy zawartość wiersza z tabeli */
  79. $r = mysql_fetch_assoc($wynik);
  80. /* wczytujemy dane do formularza */
  81. /*
  82.   w formularz znajdują się ukryte pola "a"
  83.   z wartością "save" i pole "id" z wartością
  84.   zmiennej id
  85.   */
  86. echo '<form action="index.php" method="post">
  87. <input type="hidden" name="a" value="save" />
  88. <input type="hidden" name="id" value="'.$id.'" />
  89. imię:<br />
  90. <input type="text" name="imie"
  91. value="'.$r['imie'].'" /><br />
  92. e-mail:<br />
  93. <input type="text" name="email"
  94. value="'.$r['email'].'" /><br />
  95. <input type="submit" value="popraw" />
  96. </form>';
  97. }
  98. }
  99. elseif($a == 'save') {
  100. /* odbieramy zmienne z formularza */
  101. $id = $_POST['id'];
  102. $imie = trim($_POST['imie']);
  103. $email = trim($_POST['email']);
  104. /* uaktualniamy tabelę test */
  105. mysql_query("UPDATE test SET imie='$imie',
  106. email='$email' WHERE id='$id'")
  107. or die('Błąd zapytania');
  108. echo 'Dane zostały zaktualizowane';
  109. }
  110.  
  111.  
  112.  
  113. ?>



Co nie działa z edycją, że gdy edytuje, oprócz zedytowanego rekordu, tworzy inny, nowy?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:12