Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在我的php行中添加删除按钮_Php_Html - Fatal编程技术网

如何在我的php行中添加删除按钮

如何在我的php行中添加删除按钮,php,html,Php,Html,我是新的php编码 我正在添加每行删除按钮,但它应该不工作,请帮助我 这是我的html代码: <!DOCTYPE html> <html> <head> </head> <body> <?php $connection = mysql_connect('localhost', 'root',''); if (!$connection) { die("Database Connection Failed" . mys

我是新的php编码

我正在添加每行删除按钮,但它应该不工作,请帮助我

这是我的html代码:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
    $connection = mysql_connect('localhost', 'root','');
if (!$connection)
{
    die("Database Connection Failed" . mysql_error());
}
$select_db = mysql_select_db( "emp",$connection);
if (!$select_db)
{
    die("Database Selection Failed" . mysql_error());
}
    $sql = "SELECT * FROM venu ";     
    $result = mysql_query($sql) or die(mysql_error());
    ?>
    <table border="2" style= " margin: 0 auto;" id="myTable">
      <thead>
        <tr>
          <th>name</th>
          <th>id</th>
          <th>rollnumber</th>
          <th>address</th>
          <th>phonenumber</th>
        </tr>
      </thead>
      <tbody>
      <?php
            while($row = mysql_fetch_array($result))
            {
              echo "<tr>";
                echo "<td>" . $row['name'] . "</td>";
                echo "<td>" . $row['id'] . "</td>";
                echo "<td>" . $row['rollnumber'] . "</td>";
                echo "<td>" . $row['address'] . "</td>";
                echo "<td>" . $row['phonenumber'] . "</td>";
               echo "<td><form action='delete.php' method='POST'><input type='hidden'  value='".$row["address"]."'/><input type='submit' name='submit-btn' value='delete' /></form></td></tr>";
                echo "</tr>";


            }
            ?>
            </tbody>
            </table>
    </body>
    </html>

名称
身份证件
卷数
住址
电话号码

这一行是错误的,您需要将WHERE子句设置为从隐藏输入值获得的数据

$sql = mysql_query("DELETE FROM 'venu' WHERE name='balaji'AND id='93'AND rollnumber='93'AND address='bangalore'AND phonenumber='1234567890'");
应该是:

$sql = mysql_query("DELETE FROM 'venu' WHERE address='"._POST['address']."'");
以您正在使用的小形式,更改:

<input type='hidden'  value='".$row["address"]."'/>

致:


在您的html视图页面中进行一些更改
echo”“如下所示:

<?php
while($row = mysql_fetch_array($result))
{
    echo "<tr>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['id'] . "</td>";
        echo "<td>" . $row['rollnumber'] . "</td>";
        echo "<td>" . $row['address'] . "</td>";
        echo "<td>" . $row['phonenumber'] . "</td>";
        echo "<td><a href='delete.php?did=".$row['id']."'>Delete</a></td>";
    echo "</tr>";
}
?>

PHP删除代码:

<?php
if(isset($_GET['did'])) {
    $delete_id = mysql_real_escape_string($_GET['did']);
    $sql = mysql_query("DELETE FROM venu WHERE id = '".$delete_id."'");
    if($sql) {
        echo "<br/><br/><span>deleted successfully...!!</span>";
    } else {
        echo "ERROR";
    }
}
?>

首先,您需要像

echo "<td><a href="delete.php?id='.$row['id'].'">Delete</a></td>";
当然,如果您需要在删除查询中添加更多参数,也应该使用按钮传递这些参数

编辑:更新记录的简单示例

你可以把第二个按钮放在桌子上,就像

echo "<td><a href="update.php?id='.$row['id'].'">Update</a></td>";
在这里(在
update.php
中),您可以使用新数据填写表单,并将表单传递给变量
$name
$rollnumber
$address
,然后将其发布到更新部分


首先,将查询更改为使用用户输入的动态值,现在它是硬编码的

session_start();

require_once 'conn.php';

class myClass extends dbconn {
  public function myClassFunction(){

    try {
      $id = $_GET['id'];
      if(isset($_GET['id'])) {

          $sql = "DELETE FROM tablename WHERE id = ?";

          $stmt = $this->connect()->query($sql);
          $stmt->bind_param('i', $id);
          header("location: ../filepath/index.php");
      }
    } catch (PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }

  }
}
session_start();
需要一次“conn.php”;
类myClass扩展了dbconn{
公共函数myClassFunction(){
试一试{
$id=$_GET['id'];
如果(isset($\u GET['id'])){
$sql=“从表名中删除,其中id=?”;
$stmt=$this->connect()->query($sql);
$stmt->bind_参数('i',$id);
标题(“位置:../filepath/index.php”);
}
}捕获(PDO$e){
echo$sql。“
”$e->getMessage(); } } }
echo”“无法获取错误表/列应在倒勾中。您可能不需要
where
子句中的所有参数,
id
不是唯一的吗?您没有向查询传递任何值。是的,您还需要对delete.php进行一些更改。
来自“venu”,其中地址和SQL注入将永远无法工作。还有,你为什么要删除地址而不是
id
?伙计,向OP询问,我在回答他的问题。
address
不是一列,表单创建不正确。在地址上删除是危险的,就像直接使用
$\u POST
删除一样。应该添加一个关于SQL注入的注释。我已经添加了
mysql\u real\u escape\u字符串($\u GET['did'])$sql=mysql_查询(“更新'venu'集合名称='$name'和id='$id'和rollnumber='$rollnumber'和地址='$address'phonenumber='$phonenumber'”);正在更正获取错误,我想更新总行,这是可能的
if(isset($_GET['id'])) {

    $id = $_GET['id'];

    $stmt = $mysqli->prepare("DELETE FROM venu WHERE id = ?");
    $stmt->bind_param('i', $id);
    $stmt->execute(); 
    $stmt->close();
}
echo "<td><a href="update.php?id='.$row['id'].'">Update</a></td>";
if(isset($_GET['id'])) {

    $id = $_GET['id'];
    $stmt = $mysqli->prepare("UPDATE venu SET name = ?, rollnumber = ?, address = ? WHERE id = ?");
    $stmt->bind_param('sisi', $name, $rollnumber, $address, $id);
    $stmt->execute(); 
    $stmt->close();
}
session_start();

require_once 'conn.php';

class myClass extends dbconn {
  public function myClassFunction(){

    try {
      $id = $_GET['id'];
      if(isset($_GET['id'])) {

          $sql = "DELETE FROM tablename WHERE id = ?";

          $stmt = $this->connect()->query($sql);
          $stmt->bind_param('i', $id);
          header("location: ../filepath/index.php");
      }
    } catch (PDOException $e) {
      echo $sql . "<br>" . $e->getMessage();
    }

  }
}