Php 在点击时删除行


Php delete row onclick

嗨,伙计们,我有这个问题。我有一个 while 循环,向我显示表的值。现在我需要你可以删除其中一个,如果它是错误的。我只是无法运行这段代码,我不明白出了什么问题。这是我有问题的php。

while( $row = mysql_fetch_array( $res ))
{
echo "<tr>
  <td> ".$row['id']."</td>
  <td> ".$row['val1']."</td>
  <form action='' method='POST'>
  <input type='submit' name='delete' value='".$row['id']."' /></td>
  </form>
  </tr>";
}
if(isset($_POST['delete'])){

$user  = $_POST['delete'];
$delet_query = mysql_query("DELETE FROM table_name WHERE id = '$user' ") or die(mysql_error());
if($delet_query) {
echo "Delete success!";
}
}

为什么不工作?非常感谢伙计!我需要用户可以删除该行。

您的 HTML 无效。您的表单之前没有<td>

  <td> ".$row['val1']."</td>
      <----missing <td>
  <form action='' method='POST'>
  <input type='submit' name='delete' value='".$row['id']."' /></td>

因此,从技术上讲,您的表单在表格内、一行内自由浮动,但不在单元格内。

另外,您的SQL容易受到注入攻击。

最好

将值放在隐藏字段中,而不是依赖提交按钮的值:

echo "<tr>
        <td> ".$row['id']."</td>
        <td> ".$row['val1']."</td>
        <td>
            <form action='' method='POST'>
                <input type='hidden' name='delete' value='".$row['id']."' />
                <input type='submit' value='".$row['id']."' />
            </form>
        </td>
    </tr>";

另请注意,您丢失了打开<td>,并且相应的关闭</td>不合适。