php - 如何使用 PHP/MySQL 跟踪图像/横幅点击/查看

标签 php jquery mysql

我想知道如何修改现有代码以跟踪图像/横幅点击/ View ?仅使用 PHP 就可以做到这一点还是需要使用 jQuery (ajax)?

我的 MYSQL 表中的 tblbanners 中有 bannerClicksbannerViews

这是生成图像/横幅的代码:

    $query91 = 'SELECT * FROM tblbanners WHERE tblbanners.bannerStatus!=\'1\'';
    $result91 = full_query ($query91);

    $bannerCounter = 1;
    while ($data91 = mysql_fetch_array ($result91))
    {

        $ID = $data91['ID'];
        $bannerName = $data91['bannerName'];
        $bannerLocation = $data91['bannerLocation'];
        $bannerUrl = $data91['bannerUrl'];      

        $bannerCode[$bannerCounter] = '<a id="' . $ID . '" class="banner-url" href="' . $bannerUrl . '" target="_blank"><img alt="' . $bannerName . '" src="banners/' . $bannerLocation . '" width="100px" height="200px" /></a>';
        $bannerCounter++;
    }

    $bannerAdTotals = $bannerCounter - 1;

    if($bannerAdTotals > 1)
    {
       mt_srand((double)microtime() * 1234567);
       $bannerPicked = mt_rand(1, $bannerAdTotals);
    }
    else
    {
       $bannerPicked = 1;
    }

    $bannerAd = $bannerCode[$bannerPicked];

    print $bannerAd;

最佳答案

您可以使用 JavaScript,也可以拦截点击。要拦截点击,假设您将横幅 URL 存储在数据库中,您只需设置一个 PHP 脚本来拦截点击、跟踪点击,然后重定向。就像简单的事情:

<?php

$sql = "SELECT `url` FROM `banners` WHERE `id` = :banner_id LIMIT 1";
$stmt = $db->prepare($sql);
$stmt->bindParam(':banner_id', $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$banner = $stmt->fetchObject();

$sql = "INSERT INTO `clicks` (`banner_id`) VALUES (1)";
$res = $db->exec($sql);

header('Location: ' . $banner->url);

显然,您需要实例化数据库连接/对象,更改任何数据库表和列名称以及任何验证。

通过这种方法,当您显示横幅时,您可以在从数据库中选择横幅时执行此操作:

<a href="track_click.php?id=<?php echo $banner->id; ?>">
  <img src="<?php echo $banner->img; ?>" alt="<?php echo $banner->alt; ?>" />
</a>

关于php - 如何使用 PHP/MySQL 跟踪图像/横幅点击/查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463711/

相关文章:

php - 在 Php Excel 中获取带有列名的单元格值

jquery - iPhone 移动 Safari : Force keyboard open

jquery - 在 anchor 之间滚动页面时向 div 添加或删除类

javascript - JS : Drying up jQuery script - checkbox values to input field

mysql - 导出和导入外键

php - 使用div中的while条件获取mysql数据

php - 为什么这个 php 查询什么都不打印

php - 一个php文件怎么能等别人呢?

php - 在 Mint 上设置 apache 和 php

php - Zend Framework 2 上的模块和模型组织