从表单中删除完整行到php中的数据库

时间:2014-08-22 11:30:49

标签: php html mysql mysqli phpmyadmin

当我点击删除按钮时,我想在php中删除表格中的完整行到数据库中。但是在我的页面上有“未定义的第39行索引”问题,当我点击删除按钮时,它会在不同的页面上重定向我,并且没有删除一行。

如何在一次点击中删除一行? 请帮帮我。

谢谢,

纳比尔

<body>
<a href="" >delete</a>
<a href="" >create</a>
<label>Read</label>
<?php
  $con=mysqli_connect("localhost","root","","firstphp");
  if($con)
{
}

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM users`");

echo "<table border='1'>
  <tr>
    <th>id</th>
    <th>username</th>
    <th>passward</th>
    <th>name</th>
    <th>delete</th>
  </tr>";

while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['id'] . "</td>";
  echo "<td>" . $row['username'] . "</td>";
  echo "<td>" . $row['passward'] . "</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['<th><a href="<?php $_PHP_SELF ?>" >delete</a></th>'] . "</td>";
  echo "</tr>";
}


echo "</table>";
?>
<label>End Read</label>
<br /><br /><hr />
<label>Delete</label>
<?php


if(isset($_POST['delete']))
{
$con=mysql_connect("localhost","root","");
if(!$con)
{
  die("Could not connect: " . mysql_error());
}
$id = $_POST["id"];
$sql = "DELETE FROM users WHERE id = $id";
mysql_select_db('firstphp');
$result = mysql_query($sql,$con);
if(!$result)
{
  die("Could not delete data: " . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($con);
}
else
{}
?></body>

1 个答案:

答案 0 :(得分:1)

更改

echo "<td>" . $row['<th><a href="<?php $_PHP_SELF ?>" >delete</a></th>'] . "</td>";

echo '<th><a href="'.$_SERVER['PHP_SELF'].'?id='. $row['id'] .'&delete=true" >delete</a></td>';

并更改

if(isset($_POST['delete']))
//...
$id = $_POST["id"];

if(isset($_GET['delete']))
//...
$id = $_GET["id"];