我想要一些关于使用 PHP 和 JS 跟踪横幅视图的方法的帮助。我知道如何跟踪横幅点击,但我看不到跟踪视图的方法。
问问题
372 次
2 回答
3
如果您的横幅是图像,您可以将其 URL 替换为记录视图并返回图像的 PHP 脚本。
例如:<img src="http://img.com/img.png">
--> 在 PHP 脚本上重写 --> 日志 --> 返回图像
于 2013-02-02T18:13:18.717 回答
1
如果您想永久存储已查看横幅/图像的次数,请修改数据库中包含图像 ID 的表。
表横幅
id
| path
| clicks
|views
www.example.org/products.php?products=type_a
<?php
// other code
$type = $_GET["products"];
// sanitize $type
$views;
$products_selected = get_product_ids_from_type($type);
$query = "..."; // use $products_selected to create a query that will help to get image records from table
while($row = mysql_fetch_row(...)) {
echo "<img src='".$row[1]."' />";
$views[$row[0]] = $row[3]; // get the old number of views
}
foreach($products_selected as $id) {
$query = "insert into `table-banner` (`views`) values ('".($views[$id] + 1)."') where id=`".$id."`;";
// perform the query
}
这意味着当有人点击链接www.example.org/products.php?products=type_a时,请求会转到服务器,因为type_a
选择了产品,您的 .php 文件将使用该类型来获取 id 和显示相应的图像,并在获取这些图像进行显示时,同时更新每个图像记录的视图列
如果您还想使用 JavaScript(这不是必需的),您可以
<script>
var selected_ids = [
<?php
foreach($products_selected as $v) {
echo $v.",";
}
?>
];</script>
<script>
$(function() {
for(x in selected_ids) {
$.ajax({
type: "POST",
url: "ajax.php",
data: { id: selected_ids[x] }
}).done(function( msg ) {
alert( selected_ids[x] + " now has views : " + msg );
});
}
});
</script>
www.example.org/ajax.php
$id = $_POST["id"];
// create connection
$view = 0;
$query = ...; // get old views from id and store in $view
// perform the query to insert new view
$query = "insert into `table-banner` (`views`) values ('".($view + 1)."') where id = `".$id."`;";
echo $view;
于 2013-02-02T18:30:25.297 回答