Delete button for each field

I have a table of items from my database, and for each item I want a delete button.

It currently works, but the button shows the ID number, and I want it to just say delete.

I still want it deleted based on joke.ID

$result = mysqli_query($con, "SELECT joke.id, joketext, jokedate, name, email FROM joke INNER JOIN author ON authorid = author.id"); echo "<form action='delete1.php' method='post'> <table border='1'> <tr> <th>Joke</th> <th>Date</th> <th>Name</th> <th>Email</th> <th>Delete</th> </tr>"; while( $row = mysqli_fetch_array( $result ) ) { echo "<tr>"; echo "<td>" . $row['joketext'] . "</td>"; echo "<td>" . $row['jokedate'] . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "<td><input type='submit' name='deleteItem' value='".$row['id']."' /></td>"; echo "</tr>"; } echo "</table>"; echo "</form></br>"; mysqli_close($con); ?> 

this is delete1.php

  if ( isset( $_POST['deleteItem'] ) and is_numeric( $_POST['deleteItem'] ) ) { // here comes your delete query: use $_POST['deleteItem'] as your id mysqli_query($con,"DELETE FROM joke WHERE id='$_POST[deleteItem]'"); } mysqli_close( $con ); header('Location: joke1.php'); exit(); ?> 

I just wish the delete button

+6
source share
2 answers

Go the other way. Create a hidden input element as follows:

 echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>"; 

And change the existing one to

 echo "<td><input type='submit' value='Delete' /></td>"; 

What is it.

EDIT1: You will need to stick with a different shape for each joke.

 while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['joketext'] . "</td>"; echo "<td>" . $row['jokedate'] . "</td>"; echo "<td>" . $row['name'] . "</td>"; echo "<td>" . $row['email'] . "</td>"; echo "<td>"; echo "<form action='delete1.php' method='post'> echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>"; echo "<input type='submit' value='Delete' />"; echo "</form>"; echo "</td>"; echo "</tr>"; } 
+7
source

Use an easy way.

 echo "<td><input type='button' value='Delete' onclick='javascript:location.href=\'delete1.php?id=" .$row['id']. "\'' /></td>"; 

delete1.php

 if(isset($_GET['id']) and is_numeric($_GET['id'])) 
0
source

Source: https://habr.com/ru/post/952633/


All Articles