Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie rekordów z SQL
Forum PHP.pl > Forum > PHP
CAR4NTHIR
Witam,
Jestem w trakcie tworzenia skryptu php, który ma implementować dane do bazy SQL, wyświetlać je oraz usuwać. Udało mi się zrobić dwa pierwsze punkty, natomiast nie bardzo wiem jak się zabrać za usuwanie. Nie jestem zbyt dobry z programowania dlatego szukam pomocy tutaj. Za wszystkie błędy przepraszam i dziękuję za wyrozumiałość. Poniżej kod
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="utf-8">
  6. <title>Ewidencja</title>
  7. <center><img src="JD123.png"><center>
  8. <link href="JD3.css" rel="stylesheet" type="text/css">
  9. </head>
  10. <body bgcolor="black">
  11.  
  12. <style type="text/css">
  13. <!--
  14. a:link {color: #00BFFF;}
  15. a:visited {color: #00BFFF;}
  16. a:active {color: #00BFFF;}
  17. -->
  18. </style>
  19.  
  20. <?php
  21. ini_set('display_errors','off');
  22. ini_set('error_reporting', E_ALL );
  23. define('WP_DEBUG_DISPLAY', false);
  24.  
  25. $imie = $_POST['imie'];
  26. $nazwisko = $_POST['nazwisko'];
  27.  
  28. if($imie and $nazwisko) {
  29.  
  30. $imie = $_POST['imie'];
  31. $nazwisko = $_POST['nazwisko'];
  32.  
  33.  
  34. $link = new mysqli("localhost", "root", "", "dymy");
  35.  
  36. $sql = "INSERT INTO `pracownik`(`Imie`, `Nazwisko`) VALUES ( '$imie','$nazwisko' ) ";
  37.  
  38. mysqli_query($link, $sql)
  39.  
  40. or die ("Problemy z odczytem bazy danych");
  41.  
  42.  
  43.  
  44.  
  45. mysqli_close($link);
  46. }
  47. ?>
  48. <form method="post" action= "pracownik.php">
  49. <input name="imie" type ="text" placeholder="Imie" >
  50. <input name="nazwisko" type ="text" placeholder="Nazwisko" >
  51. <input type ="submit" value="dodaj">
  52. </form>
  53.  
  54.  
  55.  
  56. <h2>Pracownicy:</h2>
  57. <?php
  58. $servername = "127.0.0.1";
  59. $username = "root";
  60. $password = "";
  61. $dbname = "dymy";
  62.  
  63.  
  64. $conn = new mysqli($servername, $username, $password, $dbname);
  65.  
  66. if ($conn->connect_error) {
  67. die("Connection failed: " . $conn->connect_error);
  68. }
  69.  
  70. $sql = "SELECT imie,nazwisko FROM pracownik";
  71. $result = $conn->query($sql);
  72.  
  73. if ($result->num_rows > 0) {
  74. echo "<style> td { border: 1px solid white; } </style>";
  75. echo '<table class="tabela"><tr><th>Imię</th><th>Nazwisko</th></tr>' ;
  76.  
  77. while($row = $result->fetch_assoc()) {
  78.  
  79. echo "<tr><td>{$row['imie']}</td><td>{$row['nazwisko']}</td></tr>";
  80.  
  81. }
  82. echo"</br>";
  83. } else {
  84. echo "0 results";
  85. }
  86. $conn->close();
  87. ?>
  88.  
  89.  
  90.  
  91.  
  92. </body>
  93. </html>
  94.  
dublinka
Poczytaj o DELETE.

Ogolnie to powinienes miec w tabeli ID ktore podstawiasz pod jakies pole radio buttona zeby bylo wiadomo co usuwac. Wtedy przesylasz te id poprzez post, dla bezpieczenstwa rzutujesz go jako integer, laczysz sie z baza jak zazwyczaj i teraz musisz poczytac o DELETE

(int)$id = $_POST['id'];
// te id wyzej musisz pobrac z tabeli i podstawic pod radio, select czy button.
DELETE FROM `nazwatabeli` WHERE `id` = $id

`id` to Twoje id w tabeli. Kazde id jest unikalne wiec nigdy sie nie powieli. Jesli nie masz takiego pola musisz zrobic od nowa tabele.

$sql = "CREATE TABLE tabela (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pierwszepole VARCHAR(30) NOT NULL,
drugiepole VARCHAR(30) NOT NULL
Itd
)";

Oczywisie tak nie powinno sie robic ze wzgledow bezpieczenstwa ale do nauki zebys zrozumial o co chodzi starczy.
A tu masz jak to sie powinno robic

https://websitebeaver.com/prepared-statemen...t-sql-injection
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.