gpt4 book ai didi

php - 如何计算横幅展示次数和点击次数

转载 作者:可可西里 更新时间:2023-11-01 06:31:31 24 4
gpt4 key购买 nike

我们有一个小的 php 脚本,可以在我们的网站上显示随机广告。横幅从我们指定的任何位置转换。

我真正想知道的,或者被指出正确方向的是,我们能否以某种方式整理每个横幅获得的展示次数以及该横幅上可能的点击次数。

我确信这可以在 php 中完成,并存储在数据库中。只是还没有得到线索。我在 Google 上搜索,似乎我能找到的所有内容都可以追溯到 2002 年和 2003 年,哈哈。

这是我们的脚本:

<?php
$Img1 = "path to image folder/banner.png";
$Alt1 = "alt text for banner";
$Url1 = "http://www.externaldomain.com";

$Img2 ="path to image folder/banner.png";
$Alt2 = "alt text for banner";
$Url2 = "http://www.externaldomain.com";

$Img3 ="path to image folder/banner.png";
$Alt3 = "alt text for banner";
$Url3 = "http://www.externaldomain.com";

$Img4 ="path to image folder/banner.png";
$Alt4 = "alt text for banner";
$Url4 = "http://www.externaldomain.com";

$Img5 ="path to image folder/banner.png";
$Alt5 = "alt text for banner";
$Url5 = "http://www.externaldomain.com";

$num = rand (1,5);

$Image = ${'Img'.$num};
$Alt = ${'Alt' .$num};
$URL = ${'Url'.$num};

Print "<a href=\"".$URL."\"><img src=\"".$Image."\" alt=\"".$Alt."\" /</a>"; ?>

启动上述代码(我们触发包含请求)

<?php include ("../adserver/thescriptabove.php"); ?>

最佳答案

我看到你已经选择了一个答案,所以我不确定你是否完全明白,但我正在为你写一个小教程。终于搞定了,希望对你有帮助。

您的方法似乎适用于提供横幅广告,但如果您要进入数据库并跟踪点击次数/展示次数,我建议您全力以赴。因此,也请将您的横幅广告属性存储在数据库中。我先假设您的服务器/网络主机允许一些免费的 MySql 数据库。

您需要做的是创建一个数据库,以及数据库的用户/管理员。然后您将使用 MySql 管理器访问数据库,大多数 Web 主机都提供 phpMyAdmin。进入数据库后,您需要设置一个来记录您的数据。

以下是我希望您进行设置的方式:

|Table Name: Banners      |
|-------------------------|
|Field: | Type: |
|-------------------------|
|ID | int(5) | The Primary Key and Autoincrement attributes should be set on the ID field as well
|Image | varchar(100) |
|Url | varchar(100) |
|Caption | varchar(100) |
|Views | int(10) |
|Clicks | int(10) |

现在您已经完成了数据库,接下来是困难的部分,即 PHP。我几乎已经为你完成了,但它未经测试,所以我相信会有错误,你必须解决。但它应该为您指明正确的方向,并帮助您学习。

<?PHP

// First of all, we need to connect to the MySql server
// For more info, check out: http://php.net/manual/en/function.mysql-select-db.php
$conn = mysql_connect("localhost", "username", "password");
if(!$conn){
die('Could not connect to the MySql Server ' . mysql_error());
}

// Now that we've connected to the MySql sever, we need to select the database
// More info can be found on the same link as above
$db_selected = mysql_select_db('my_database', $conn);
if(!$db_selected) {
die ('Could not select the MySql Database: ' . mysql_error());
}

// Now we need to check the URL parameters to see, if we came to this page normally or because a banner was clicked
// If normally, we serve a random banner and increment the Views field in the database
// Otherwise, we increment the Clicks field and direct the user to the banner's URL


if(!isset($_GET['Clicked'])){
// if the Clicked parameter is not set, we came to the page normally

// Let's select a random banner from the database
$result = mysql_query("SELECT * FROM banners ORDER BY RAND() LIMIT 1") or die(mysql_error());
$row = mysql_fetch_array(result);

// Now let's increment the Views field for the banner we selected
mysql_query("UPDATE banners SET Views = Views + 1 WHERE ID = '" . $row['ID'] . "'") or die(mysql_error());

// let's set the URL to this same page but with the Clicked parameter set
$url = "banner_server.php?Clicked=" . $row['ID'];

// Last but not least, we have to output the banner HTML
// Notice, I set the caption on both the 'alt' and 'title' attributes of the 'img' tag,
// that's because IE shows the value of the 'alt' tag when an image is hovered,
// whereas Firefox shows the value of the 'title' tag, just thought you might want that!
echo "<a href=\"" . $url . "\"><img src=\"" . $row['Image'] . "\" alt=\"" . $row['Caption'] . "\" title=\"" . $row['Caption'] . "\" /></a>";

}else{
// Otherwise, increment the Clicks field and redirect

// First, let's get the ID of the banner that was clicked from the Clicked parameter
$id = (int)$_GET['Clicked'];

// now let's increment the Clicks field for the banner
mysql_query("UPDATE banners SET Clicks = Clicks + 1 WHERE ID = '" . $id . "'") or die(mysql_error());

// now let's select the banner from the database so we can redirect to the URL that's associated with it
$result = mysql_query("SELECT * FROM banners WHERE ID = '" . $id . "'") or die(mysql_error());
$row = mysql_fetch_array(result);

// redirect to the URL
header("location: " . $row['Url']);
}


// Close the MySql connection
mysql_close($conn);

?>

祝你好运

关于php - 如何计算横幅展示次数和点击次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com