0

PHP と JS を使用してバナー ビューを追跡する方法を教えてください。バナーのクリックを追跡する方法は知っていますが、ビューを追跡する方法がわかりません。

4

2 に答える 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 に答える