Javascript 如何,右键单击a<;tr>;,运行php检索数据,在警报中显示结果?
我已经阅读并尝试了许多解决方案,但都没有奏效。这是我的最新作品。正如您所看到的,我所要做的就是在屏幕上显示一个警报框,其中包含使用PHP从MySQL检索到的数据 我的HTML如下所示: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=\
...
<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
或任何用户数据直接放入查询中。使用HTTPPOST
方法发送表单数据是传统做法。@tadman未提交任何表单。根据PHP脚本中的逻辑,它是一个数据检索,因此(没有进一步的上下文)我认为GET在这种情况下是合适的。@Aknosis这看起来像是某种正在执行的搜索操作,这就是为什么我认为POST更适合的原因。你可以用DELETE
来做,没有人会阻止你,但这会让人困惑。我把它改成了GET,这就是我最初的意思,因为我只获取信息,不提交任何信息。谢谢你的意见。