Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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_Mysql - Fatal编程技术网

删除Php中的当前行

删除Php中的当前行,php,mysql,Php,Mysql,如何使用php从Mysql中删除当前行 我想从我的Mysql数据库中搜索,每一行的右边都有一个删除按钮。 当我单击Delete按钮时,当前行应该从数据库中删除。 我尝试在php中创建一个函数,其中包含要从数据库中删除的查询。但当我在搜索区中调用它时,它不起作用 我创建了两个函数,一个在PHP中(名为“hello”)包含删除查询,另一个在JavaScript中(名为“DeleteRecord”)调用PHP函数“hello”。 现在我在搜索块中调用了JS函数。 JS函数工作正常,但当JS调用php函

如何使用php从Mysql中删除当前行

我想从我的Mysql数据库中搜索,每一行的右边都有一个删除按钮。 当我单击Delete按钮时,当前行应该从数据库中删除。 我尝试在php中创建一个函数,其中包含要从数据库中删除的查询。但当我在搜索区中调用它时,它不起作用

我创建了两个函数,一个在PHP中(名为“hello”)包含删除查询,另一个在JavaScript中(名为“DeleteRecord”)调用PHP函数“hello”。 现在我在搜索块中调用了JS函数。 JS函数工作正常,但当JS调用php函数时,如果我只使用echo,它也可以工作,但是在php函数中,如果我取消对删除查询的注释,它就不工作了

有人帮我吗 谢谢

function viewRecord($Para)
{

echo "<table border=1>
     <thead>
     <th>Book_Number</th>
     <th>Name</th>
     <th>Auther</th>
     <th>Quantity</th>
     <th>Shelf</th>
     </thead>";

     while($row=mysql_fetch_array($Para))
     {
          echo "<tr>";
          echo "<td>".$row['Book_Number']."</td>";          
          global $DeleteRecordNumber;
          $DeleteRecordNumber = $row['Book_Number']; 
          echo "<td>".$row['Name']."</td>";
          echo "<td>".$row['Auther']."</td>";
          echo "<td>".$row['Quantity']."</td>";
          echo "<td>".$row['Shelf']."</td>";          
          echo "<td>"."<input type=button value=Delete onclick=DeleteRecord()>"."</td>"; 
          echo "</tr>";      
     }
     echo "</table>";         
}

function hello()
          {
               global $DeleteRecordNumber;
               $asd = $DeleteRecordNumber;
               echo  $asd;                          
    // $Del = "DELETE FROM books WHERE Book_Number='$asd'";
   //  mysql_query($Del); 
          }

mysql_close($Connection);

?>

<script type=text/javascript>
function DeleteRecord()
{       
     document.write (<?php hello(); ?>);
}
</script>
函数视图记录($Para)
{
回声“
书号
名称
作者
量
架子
";
while($row=mysql\u fetch\u数组($Para))
{
回声“;
回显“$行[“图书编号]”;
全球$DeleteRecordNumber;
$DeleteRecordNumber=$row['Book_Number'];
回显“$row['Name']”;
回显“$row['Auther']”;
回显“$row['Quantity']”;
回显“$row['Shelf']”;
回声“.”;
回声“;
}
回声“;
}
函数hello()
{
全球$DeleteRecordNumber;
$asd=$DeleteRecordNumber;
回音$asd;
//$Del=“从图书编号为“$asd”的图书中删除”;
//mysql_查询($Del);
}
mysql_close($Connection);
?>
函数DeleteRecord()
{       
document.write();
}

等一下,我想你是在把苹果和桔子混在一起!除非提交表单,否则不能使用按钮在客户端执行PHP函数。我看你的文章越多,我发现的错误就越多

但是,假设您正在提交命令(您没有显示DeleteRecord()的功能,因此我假设您在那里有一个表单提交),那么您的表中应该有一个唯一的字段,例如“id”,它的类型为notnull、AUTO_INCREMENT、PRIMARY

在对行进行拆分时,让每行都保留此唯一id。然后按下按钮时,只需执行以下操作:

$result = MySQL_Query("DELETE QUICK FROM books WHERE id='idtodelete'");
使用您的表名和唯一id更新查询,这应该可以做到。 将其转换为函数应如下所示:

function delete_record($id)
 {
   return MySQL_Query("DELETE QUICK FROM books WHERE id=$id");
 }
如果不想使用唯一字段,请使用任何唯一的字段,如电子邮件或同一表中其他记录中不存在的内容,如字段“Book_Number”,但字段“id”更为标准


列名区分大小写,因此,如果您的查询无法正常工作,请检查所有内容的大小写。

是否尝试在不刷新页面的情况下删除记录

如果是这样,您可以通过javascript/jquery删除元素,并在delete函数上使用图书id和要执行的操作对服务器进行ajax post调用

在这种情况下,它看起来像(假设您在图书编号
中放入一个id作为图书编号):

请记住,尽管这可能会起作用,但SQL注入并不安全,您需要使用来保护查询不受SQL注入的影响



另一种方法是让delete按钮用作传递图书编号的表单的提交按钮,并执行上述操作,但这次不使用Javascript部分。这将强制重新加载页面。

delete from…
是?还是不相关?“图书编号”是个人ID的唯一ID任意行。我正在使用该唯一编号删除特定行。在DeleteRecord()中,需要插入记录的主键,即onclick=DeleteRecord(“+pk+”)。在javascript函数中-将此值传递给php。在php中,设置必要的sql语句。我已经这样做了。现在,我简要解释了我尝试的所有解决方案的问题。请查看!不要删除内容。只需在单击“删除”时将“隐藏”或“删除”标记更新为1即可。
<script>
var data = {
    book_id: $("#book_number"),
    operation:"delete"
}
var jqxhr = $.post( "example.php", data, function() {
  alert( "Record deleted" );
  //delete the row from the table
})
  .done(function() {
    alert( "Alternative to the above" );
  })
  .fail(function() {
    alert( "error deleting record" );
  })
  .always(function() {
    alert( "Operation completed" );
});
</script>
"DELETE FROM books WHERE Book_Number='{$_POST['book_id']}'";