Ajax从填充的数据表中获取列文本并在PHP

时间:2017-05-21 09:28:02

标签: php mysql ajax

我有一个数据表,我想从一个单击的单元格中取出文本并将其用作PHP中的变量,以便我使用该变量来查询mysql。我的代码到目前为止:

<script type="text/javascript">

    $(document).ready( function () {
     $('#priority tbody').on('click', 'tr', function() {
           var celldat = $(this).find('td:first').text(); //gets the text from the first column when a row is clicked.
           $.ajax({
              url: 'prioritize.php', //my url
              method: "POST",
              async: 'false',
              data: {variable:celldat},
              success: function(data) {
              alert(celldat); //The alert is perfect.  It returns the text from the first column.
                window.location.reload(true);
              }
        })
        });
     });
    </script>

在我的PHP中,我试图回应相同的值:

<?php
$selected=$_POST['variable']; 
echo $selected;
?>

但它不起作用。基本上我想在mysql select查询中使用$selected来填充另一个表。

2 个答案:

答案 0 :(得分:0)

数据中的

:尝试这样做:"data: {variable:"+celldat"}"

尝试执行此操作$_POST['data']这将为您提供从ajax请求发送的所有数据

答案 1 :(得分:0)

在评论之后,您需要修改您的jQuery

 success: function(data){ alert(celldat); }

 success: function(html){ alert(html); }
  

PHP方

 <?php
 error_reporting(E_ALL); ini_set('display_errors', 1);
 $selected = $_POST['variable']; 
 echo"$selected";
 ?>

您需要对响应执行某些操作,因为在成功时,您首先使用您显示的代码,您只需将页面发送给自己:更新div或表格单元格... Ajax允许您使用从PHP发回的数据而不刷新,为什么要重新加载呢?

使用PHP响应来更新div的示例:

success: function(html){ // 'html' is PHP response
   $("#responsediv").html(''+html+''); // update a div with ID 'responsediv'
   // as ID have to be unique, it makes sure you have the proper data in the correct div
    },
     error: function (request, status, error) { // handle error
      alert(request.responseText);
    }