我有一个php页面,该页面围绕移动功能设计,并从搜索条件中加载信息,信息被收集在页面上,然后当该页面打开以记录访问并完美运行时,该信息会自动过帐到数据库中,这是代码:

$mysqli = new mysqli($servername, $username, $password, $dbname);
$stmt = $mysqli->prepare("INSERT INTO `analytics_scans` (`ip_address`, `property_id`, `address`, `town`, `agent_name`, `office`) VALUES (?,?,?,?,?,?)");
$stmt->bind_param('sissss', $_SERVER['REMOTE_ADDR'], $id, $address, $town,     $agent, $office);
$stmt->execute();


此页面上有3个“按钮/图像”,呼叫,邮件和共享我想要做的就是将这些事件记录到3个单独的表中,与上面的代码完全相同,而没有离开该页面,我无法重新加载它,因为它将记录一个进一步的页面访问。
我不能复制显示的一个并指向其他表,因为这是它必须记录的点击。

理想情况下,像onClick函数之类的东西将是解决方案,但是我敢肯定,如果不离开页面,那是不可能的。

任何帮助表示赞赏。

最佳答案

您可以使用Ajax(例如jQuery)。

例:

<a href="mailto:[email protected]" onclick="return javascript:log('mail_clicked');">Write email</a>
<a href="#" onclick="return javascript:log('share_clicked');">Share</a>


在jQuery中:

function log(action) {
    $.get('./log.php?action=' + action);
    return true;
}




在log.php中:

<?php

$db = new MySQLi(...);
if($_GET['action'] == "mail_clicked")
    $db->query("INSERT INTO `mail_clicked` ...");
else if($_GET['action'] == "share_clicked")
    $db->query("INSERT INTO `share_clicked` ...");

?>

关于javascript - 单击mailto:或tel:链接时触发INSERT查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30668902/

10-09 15:05