如何使用php和javascript从mysql中删除行


How to delete row from mysql using php and javascript

我正试图使用php代码删除整行。

但在此之前,我的页面有多行以单选按钮结尾在点击删除按钮之前,我们必须选择任何单选按钮,然后我们才能点击删除。

但我想要的是,我已经编写了一个获取单选按钮值的java脚本代码,然后我想将该javascript变量值获取到php代码中,然后执行delete命令。。

以下是我尝试过的

代码javascript

<script>
function getResults() {
    var radios = document.getElementsByName("address");    
    for (var i = 0; i < radios.length; i++) {       
        if (radios[i].checked) {
        var a = radios[i].value
            alert(a);
            break;
        }
    }
</script>

php代码:

  <?php
      $_GET['a']
      mysql_connect("localhost", "tiger", "tiger") or die (mysql_error ());
      mysql_select_db("theaterdb") or die(mysql_error());
      $strSQL =("DELETE FROM theater WHERE theater_name='"$_POST["a"]"'");
      $rs = mysql_query($strSQL);
      mysql_close();
    ?>
    }

但这不起作用

我甚至也试过了。也不起作用

<?php
    if ($_POST['submit'])
    {
      $_GET['a'];
      mysql_connect("localhost", "tiger", "tiger") or die (mysql_error ());
      mysql_select_db("theaterdb") or die(mysql_error());
      $strSQL =("DELETE FROM theater WHERE address='".$_POST["a"]."'");
      $rs = mysql_query($strSQL);
      mysql_close();
      }
    ?>  
js中的

    <script>
        function getResults() {
            var radios = document.getElementsByName("address");    
            for (var i = 0; i < radios.length; i++) {       
                if (radios[i].checked) {
                var apost = radios[i].value
                     //send set state request
                $.ajax({
                    type: "POST",// here you can use get/post  if use get then in php use $_GET['a'] or use post then in php $_POST['a'] 
                    url: "your php file name with path",
                    data: {a:apost},
                    beforeSend: function () {

               },
                    success: function (data, textStatus, XmlHttpRequest) {
if(data==1)// see php file code you will know how i use data==1
{
    // do your action                
 }
else{
// in you php there is someyhing error
}
     },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
    // do you action
                   }
                });
                    break;
                }
            }
        </script>  

在PHP中

   <?php
          mysql_connect("localhost", "tiger", "tiger") or die (mysql_error ());
          mysql_select_db("theaterdb") or die(mysql_error());
          $strSQL =("DELETE FROM theater WHERE theater_name='".$_POST["a"]."'");
          $rs = mysql_query($strSQL);
            echo 1;  // here i use 1 to get response if this is done successfully then in ajax we get 1 in data  
          mysql_close();
        ?>

您必须将where条件值从js发送到delete查询中。。

<script>
    function getResults() {
        var radios = document.getElementsByName("address");    
        for (var i = 0; i < radios.length; i++) {       
            if (radios[i].checked) {
            var a = radios[i].value
                alert(a);
                document.yourformname.action="yourphp.php?a="+a;
                document.yourformname.submit();
                break;
            }
        }
    </script>

嘿,您需要将php变量附加到下面

 $strSQL =("DELETE FROM theater WHERE theater_name='".$_POST["a"]."'");

您必须从html发送值GET 中没有添加分配javascript变量

你必须发送类似的价值

<script>
function getResults() {
    var radios = document.getElementsByName("address");    
    for (var i = 0; i < radios.length; i++) {       
        if (radios[i].checked) {
            var a = radios[i].value;
            header.location.href = "yourphp.php/?a=" + a; //changed
            break;
        }
    }
</script>

Php代码

<?php
      $t_name = $_GET['a']
      mysql_connect("localhost", "tiger", "tiger") or die (mysql_error ());
      mysql_select_db("theaterdb") or die(mysql_error());
      $strSQL =("DELETE FROM theater WHERE theater_name='" . $t_name . "'"); //changed Line
      $rs = mysql_query($strSQL);
      mysql_close();
    ?>