Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z usuwaniem rekordów
Forum PHP.pl > Forum > Przedszkole
MateuszRyaN
Witam. Mam pewien problem w moim skrypcie. Wszystko wyświetla mi elegancko tak jak chciałem, to znaczy tworzona jest tabela w której wyświetlane są wszystkie rekordy. W ostatniej kolumnie powinien wyświetlać się odnośnik do usuwania (DEL) i edycji (EDIT) rekordu. I tak też jest. Problem jest w tym, że po kliknięciu DEL, rekord nie jest usuwany, a wyświetla się "Internal Server Error. The server encountered an internal error or misconfiguration and was unable to complete your request....". Proszę o pomoc, w której części skryptu popełniłem błąd.

isset($_POST['all']) - to przycisk, który po kliknięciu wykonuje całą operację tworzenia tabeli itp...
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', 'haslo')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('baza_manager', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6. mysql_query("SET CHARSET 'latin2'", $connection);
  7. mysql_query("SET NAMES latin2");
  8. mysql_query("SET CHARACTER SET latin2");
  9. mysql_query("SET collation_connection = latin2_general_ci");
  10.  
  11. if (isset($_POST['all']))
  12. {
  13.  
  14. $wynik = mysql_query("SELECT * FROM manager ORDER BY `id` DESC;")
  15. or die('Błąd zapytania');
  16.  
  17. if(mysql_num_rows($wynik) > 0) {
  18.  
  19. echo "<br>";
  20. echo "<table cellpadding='4' cellspacing='0' style='border:1px solid #aebecc'>";
  21. echo "<tr style='border:1px solid #aebecc'>";
  22. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".ID."</td>";
  23. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".DATA."</td>";
  24. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".NAZWISKO."</td>";
  25. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".TELEFON."</td>";
  26. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".SPRZĘT."</td>";
  27. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".MODEL."</td>";
  28. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".PRZYJMOWAŁ."</td>";
  29. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".CZYNNOŚĆ."</td>";
  30. echo "</tr>";
  31. while($r = mysql_fetch_object($wynik)) {
  32. echo "<tr style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>";
  33. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->id."</td>";
  34. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->data."</td>";
  35. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwisko."</td>";
  36. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->telefon."</td>";
  37. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwa_sprzetu."</td>";
  38. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->model."</td>";
  39. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->przyjmuje."</td>";
  40. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif; '>
  41. <a style='text-decoration:underline; color:#808d98;' href=\"manager.php?a=del&id={$r->id}\">DEL</a>
  42. <a style='text-decoration:underline; color:#808d98;' href=\"manager.php?a=edit&id={$r->id}\">EDIT</a>
  43. </td>";
  44. echo "</tr>";
  45. }
  46. echo "</table>";
  47. }
  48.  
  49. $a = trim($_POST['a']);
  50. $id = trim($_POST['id']);
  51.  
  52.  
  53. if($a == 'del' and !empty($id)) {
  54. mysql_query("DELETE FROM manager WHERE id='$id'")
  55. or die('Błąd zapytania: '.mysql_error());
  56. echo 'Rekord został usunęty z bazy';
  57. }
  58. }
  59.  
  60.  
  61. ?>
lwc
Czy te zmienne id i a nie powinny być przypadkiem getowe?
ciekawskiii
dokladnie, id masz w linku wiec powinienes dodac $_GET
MateuszRyaN
Powiedzmy, że działa. Nie sypie się, nie ma błędu. Jednak jest pewien problem. Jak klikne DEL. To faktycznie usuwa mi dany rekord ale jednocześnie wyświetla mi się formularz edycji. Możecie na to coś popradzićquestionmark.gif Jak usune EDYTOWANIE z kodu. To samo USUWANIE robi mi bez problemu. A na chwilę obecną mam coś takiego. I coś się to DEL z EDIT chyba gdzieś gryzie. Pomocy.
  1. <?php
  2.  
  3. $connection = @mysql_connect('localhost', 'root', 'haslo')
  4. OR die('Brak połączenia z serwerem MySQL');
  5. $db = @mysql_select_db('palma77_manager', $connection)
  6. OR die('Nie mogę połączyć się z bazą danych');
  7. mysql_query("SET CHARSET 'latin2'", $connection);
  8. mysql_query("SET NAMES latin2");
  9. mysql_query("SET CHARACTER SET latin2");
  10. mysql_query("SET collation_connection = latin2_general_ci");
  11.  
  12.  
  13.  
  14.  
  15. IF (isset($_POST['all']))
  16. {
  17.  
  18.  
  19.  
  20.  
  21. $wynik = mysql_query("SELECT * FROM manager ORDER BY `id` DESC ;")
  22. OR die('Błąd zapytania');
  23.  
  24.  
  25. IF(mysql_num_rows($wynik) > 0) {
  26.  
  27.  
  28. echo "<br>";
  29. echo "<table cellpadding='4' cellspacing='0' style='border:1px solid #aebecc'>";
  30. echo "<tr style='border:1px solid #aebecc'>";
  31. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".ID."</td>";
  32. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".DATA."</td>";
  33. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".NAZWISKO."</td>";
  34. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".TELEFON."</td>";
  35. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".SPRZĘT."</td>";
  36. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".MODEL."</td>";
  37. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".PRZYJMOWAŁ."</td>";
  38. echo "<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".CZYNNOŚĆ."</td>";
  39. echo "</tr>";
  40. while($r = mysql_fetch_object($wynik)) {
  41. echo "<tr style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>";
  42. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->id."</td>";
  43. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->data."</td>";
  44. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwisko."</td>";
  45. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->telefon."</td>";
  46. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwa_sprzetu."</td>";
  47. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->model."</td>";
  48. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->przyjmuje."</td>";
  49. echo "<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif; '>
  50. <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=del&amp;id={$r->id}\">DEL</a>
  51. <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=edit&amp;id={$r->id}\">EDIT</a>
  52. </td>";
  53. echo "</tr>";
  54. }
  55. echo "</table>";
  56. }
  57. }
  58.  
  59. $a = trim($_GET['a']);
  60. $id = trim($_GET['id']);
  61.  
  62. IF(isset($_GET['id']) && ( $a = 'edit')) {
  63.  
  64. $wynik = mysql_query("SELECT * FROM manager WHERE id='$id'")
  65. OR die('Błąd zapytania');
  66.  
  67. IF(mysql_num_rows($wynik) > 0) {
  68.  
  69. $r = mysql_fetch_assoc($wynik);
  70.  
  71. echo '<form action="menager.php?a=save" method="post">
  72.  
  73. <input type="hidden" name="a" value="save" />
  74.  
  75. <input type="hidden" name="id" value="'.$id.'" />
  76.  
  77. nazwisko:<br />
  78.  
  79. <input type="text" name="nazwisko"
  80.  
  81. value="'.$r->nazwisko.'" /><br />
  82.  
  83. telefon<br />
  84.  
  85. <input type="text" name="telefon"
  86.  
  87. value="'.$r->telefon.'" /><br />
  88.  
  89. <input type="submit" value="popraw" />
  90.  
  91. </form>';
  92.  
  93. }
  94.  
  95. }
  96.  
  97. elseif($a == 'save') {
  98.  
  99. $id = $_POST['id'];
  100.  
  101. $nazwisko = trim($_POST['nazwisko']);
  102.  
  103. $telefon = trim($_POST['telefon']);
  104.  
  105. mysql_query("UPDATE manager SET nazwisko='$nazwisko', telefon='$telefon' WHERE id='$id'")
  106.  
  107. OR die('Błąd zapytania');
  108.  
  109. echo 'Dane klienta zostały zaktualizowane poprawnie.';
  110.  
  111. }
  112.  
  113.  
  114. IF(isset($_GET['id']) && ( $a = 'del'))
  115. {
  116. $wynik = @mysql_query("DELETE FROM manager WHERE `id`='".mysql_real_escape_string($_GET['id'])."'")
  117.  
  118. OR die('Błąd zapytania: '.mysql_error());
  119.  
  120. echo 'Zlecenie zostało poprawnie usunięte.';
  121.  
  122. }
  123.  
  124.  
  125.  
  126. ?>
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.