Javascript 如何,右键单击a<;tr>;,运行php检索数据,在警报中显示结果?

Javascript 如何,右键单击a<;tr>;,运行php检索数据,在警报中显示结果?,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我已经阅读并尝试了许多解决方案,但都没有奏效。这是我的最新作品。正如您所看到的,我所要做的就是在屏幕上显示一个警报框,其中包含使用PHP从MySQL检索到的数据 我的HTML如下所示: ... <td $brbCols class=\"editCS1\" oncontextmenu=\"getLastLogin('$row[callsign]');return false;\" id=\"callsign:$row[recordID]\" style=\

我已经阅读并尝试了许多解决方案,但都没有奏效。这是我的最新作品。正如您所看到的,我所要做的就是在屏幕上显示一个警报框,其中包含使用PHP从MySQL检索到的数据

我的HTML如下所示:

...
<td $brbCols class=\"editCS1\" oncontextmenu=\"getLastLogin('$row[callsign]');return false;\"                   id=\"callsign:$row[recordID]\" style=\'text-transform:uppercase\'>                                                               $row[callsign]   </td>
...
function getLastLogin() {
    $('tr').on('contextmenu', 'td', function(e) { //Get td under tr and invoke on contextmenu
        e.preventDefault(); //Prevent defaults'
            var idparm = $(this).attr('id');
            var arparm = idparm.split(":");
            var id     = arparm[1];
            id = id.replace(/\s+/g, '');
            var call   = $(this).html();
            call = call.replace(/\s+/g, '');

        $.ajax({
            type: "GET",
            url: "getLastLogIn.php",
            data: {call : call, id : id},
            success: function(response) {
                alert(response);
            },
            error: function() {
                alert('Not OKay');
            }
        });
    });

}
PHP:

<?php
    ini_set('display_errors',1); 
    error_reporting (E_ALL ^ E_NOTICE);

    require_once "creddtls.php";

    $call = $_POST['call'];
    $id   = $_POST['id'];

$sql2 = "SELECT recordID, id, Fname, Lname,  grid, creds, 
                 email, latitude, longitude, tactical, callsign, logdate, netID, activity
        FROM NetLog 
        WHERE callsign = '$call'
        ORDER BY netID DESC 
        LIMIT 1,1 " ; 

    $stmt2 = $db_found->prepare($sql2);
    $stmt2->execute();

    $result = $stmt2->fetch();
        $recordID   = $result[0];   $email      = $result[6];
        $id         = $result[1];   $latitude   = $result[7];
        $Fname      = $result[2];   $longitude  = $result[8];
        $Lname      = $result[3];   $creds      = $result[5];   
        $tactical   = $result[9];   $grid       = $result[4];
        $callsign   = $result[10];  $netID      = $result[12];
        $logdate    = $result[11];  $activity   = $result[13];

        $msg = "<b>Last Check-in::</b>
            <br>$callsign, $Fname $Lname
            <br><b>eMail::</b>$email
            <br><b>Was on::</b> $logdate
            <br><b>Net ID::</b>  $netID, $activity
            <br><br>
            $recordID
            ";
        echo "$msg";
?>

您试图使用错误的超全局变量访问通过ajax传递的数据

您正在查看POST数据,但ajax调用使用的是GET


$\u POST
更改为
$\u GET

错误或代码未写入lli分区。因此我添加了$(“#lli”).modal();以在模式对话框中打开它


现在一切都好了。

这只是问题的一部分。那里的javascript调用毫无意义。@Dekel虽然我很感激知道自己做错了,但如果我知道如何做对,那就更好了。我需要的不仅仅是惩罚,我需要帮助和示例,或者修复我的代码并告诉我原因。警告:这有一些严重问题,因为查询中使用了
$\u GET
数据。尽可能使用事先准备好的陈述。在任何用户提供的数据都指定有
:name
指示符的情况下,这些操作非常简单,稍后将根据您使用的是哪个指示符,使用
绑定参数或
执行
填充指示符。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中。使用HTTP
POST
方法发送表单数据是传统做法。@tadman未提交任何表单。根据PHP脚本中的逻辑,它是一个数据检索,因此(没有进一步的上下文)我认为GET在这种情况下是合适的。@Aknosis这看起来像是某种正在执行的搜索操作,这就是为什么我认为POST更适合的原因。你可以用
DELETE
来做,没有人会阻止你,但这会让人困惑。我把它改成了GET,这就是我最初的意思,因为我只获取信息,不提交任何信息。谢谢你的意见。