开发者

How do i delete the records from the table?

I am using a form to get the input of username and password to store the value into the database, once the form is submitted i have defined a table to show all the values from the users table, it have 3 fields (id, name, pass) i want to delete each record by it's id .

i am fetching the data from the users table by using the following code:

while($row = mysql_fetch_assoc($result_select)) {
           echo "<tr>";
           echo "<td>" . $row['id'] . "</td>";
           echo "<td>" . $row['name'] . "</td>";
           echo "<td>" . $row['pass'] . "</td>";
           echo "</tr>"; }

i want to add the delete hyperlink to delete the particular records by id.

i tried using the following code and i couldnt achieve it.

if(mysql_num_rows($result_select) > 0) {

        if(isset($_POST['id'])) {
             $query_delete = "DELETE FROM users WHERE id =" .$_POST['id']; 
             $result_delete = mysql_query($query_delete);

        }
       echo "<table cellpadding=10 border=1>";
        while($row = mysql_fetch_assoc($resu开发者_StackOverflow中文版lt_select)) {

           echo "<tr>";
           echo "<td>" . $row['id'] . "</td>";
           echo "<td>" . $row['name'] . "</td>";
           echo "<td>" . $row['pass'] . "</td>";
           echo "<td><a href=".$_SERVER['PHP_SELF']."?id=".$row[id].">Delete</a></td>"; 
           echo "</tr>";
        }
  echo "</table>";
    }

I am a newbie to programming, i would appreciate if someone explain me in simple words.. thank you :)


First of all put your delete code in your page like this:

   if(isset($_POST['submit'])) {

         for($i = 0; $i < count($_POST['del']); $i++)
         {
           // check which records to delete
           if (isset($_POST['del'][$i]))
           {
             $query_delete = "DELETE FROM users WHERE id = " . (int) $_POST['del'][$i];
             $result_delete = mysql_query($query_delete) or die(mysql_error());
           }
         }

         echo 'Record Deleted !!' . '<br /><br />';
    }

Later put your select code and modify it like this:

echo '<form action="" method="POST">';
while($row = mysql_fetch_assoc($result_select)) {
       echo "<tr>";
       echo "<td>" . $row['id'] . "</td>";
       echo "<td>" . $row['name'] . "</td>";
       echo "<td>" . $row['pass'] . "</td>";
       echo "<td><input type=\"checkbox\" name=\"del[]\"></td>";
       echo "</tr>";
}
echo '<input type="submit" name="submit">';
echo '</form>';


You need to change $_POST to $_GET, so this should work.

if(isset($_GET['id'])) {
    $query_delete = "DELETE FROM users WHERE id =" .$_GET['id']; 
    $result_delete = mysql_query($query_delete);

and also put values of attributes inside double quotes, like this

echo '<td><a href="'.$_SERVER['PHP_SELF'].'?id='.$row[id].'">Delete</a></td>';
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜