最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 隨機排序廣告的實現代碼

 更新時間:2011年05月09日 19:37:07   作者:  
博客流行在側邊欄放置 4 到 6 個 125x125 的廣告, 但一般的擺放順序存在問題. 如果廣告位置被固定, 各個位置的天然關注度肯定是不一樣的
投放廣告的人都很關注他的廣告會放在哪個位置, 因為這可能影響點擊次數, 甚至是否在第一屏顯示. 就這個問題, 其實很容易解決, 只要隨機顯示廣告即可.

代碼如何實現? 在這我推薦兩種隨機顯示廣告的處理辦法.

在后端處理
在后端排序好再輸出頁面. 將廣告節(jié)點用數組存放, 對數組進行隨機排序, 再輸出經過排序的數組. 參考代碼 (PHP) 如下:
復制代碼 代碼如下:

// 用數組存放廣告列表
$ads = array('<a href="#"><img src="ad-125x125.png" alt="廣告 1" width="125" height="125" /></a>'
,'<a href="#"><img src="ad-125x125.png" alt="廣告 2" width="125" height="125" /></a>'
,'<a href="#"><img src="ad-125x125.png" alt="廣告 3" width="125" height="125" /></a>'
,'<a href="#"><img src="ad-125x125.png" alt="廣告 4" width="125" height="125" /></a>'
);

// 對數組進行隨機排序
shuffle($ads);

// 輸出經過排序的數組
$html = '';
foreach ($ads as $ad) {
$html .= $ad;
}
echo $html;

我們來擴展一下, 如果我是站長, 預留了 4 個廣告位, 但現在只有 3 個在投放; 我想在空置的廣告位放置一個 "虛位以待" 的廣告招租鏈接, 并顯示在最后, 該如何處理呢? 在排序完成之后再插放廣告招租鏈接就可以了.
復制代碼 代碼如下:

// 用數組存放廣告列表
$ads = array('<a href="#"><img src="ad-125x125.png" alt="廣告 1" width="125" height="125" /></a>'
,'<a href="#"><img src="ad-125x125.png" alt="廣告 2" width="125" height="125" /></a>'
,'<a href="#"><img src="ad-125x125.png" alt="廣告 3" width="125" height="125" /></a>'
);

// 對數組進行隨機排序
shuffle($ads);

// 輸出經過排序的數組
$html = '';
foreach ($ads as $ad) {
$html .= $ad;
}

// 添加廣告招租鏈接
$html .= '<a href="#"><img src="sell-ad-125x125.png" alt="虛位以待" width="125" height="125" /></a>';
echo $html;

我就是用這個方法來輸出 125x125 廣告的, 因為它直觀可靠, 處理方便. 但是如果你希望對頁面做靜態(tài)化, 建議選用 JS 隨機排序的方法.

在前端處理
在后端按原有循序輸出, 在頁面通過 JavaScript 重新排序. 假設頁面輸出廣告區(qū)域的 HTML 片段如下.
復制代碼 代碼如下:

<div id="ads">
<a href="#"><img src="ad-125x125.png" alt="廣告 1" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 2" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 3" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 4" width="125" height="125" /></a>
</div>

我們可以通過 JS 來對廣告進行重新排序. 參考代碼如下:
復制代碼 代碼如下:

<div id="ads" style="display:none;">
<a href="#"><img src="ad-125x125.png" alt="廣告 1" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 2" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 3" width="125" height="125" /></a>
<a href="#"><img src="ad-125x125.png" alt="廣告 4" width="125" height="125" /></a>
</div>
<div id="random-ads" style="display:none;">
</div>

<script type="text/javascript">
//<![CDATA[

var source = document.getElementById('ads');
var target = document.getElementById('random-ads');
var ads = source.getElementsByTagName('a');

// 下標數組
var arr = new Array();
for(var i=0; i<ads.length; i++) {
arr[i] = i;
}

// 隨機排序
function randomSort(a, b){
var tmp = parseInt((Math.random() + 0.5), 10);
return tmp ? a-b : b-a;
}

// 將老的廣告區(qū)的節(jié)點隨機插放到新的廣告區(qū)
arr.sort(randomSort);
for(var i=0; i<arr.length; i++) {
target.appendChild(ads[arr[i]].cloneNode(true));
}

// 顯示新的廣告區(qū)和移除老的廣告區(qū)
source.parentNode.removeChild(source);
target.style.display = 'block';

//]]>
</script>

如果有如同方法 1 那樣的擴展需求, 將空廣告位顯示在最后, 且顯示廣告招租鏈接, 該如何處理? 這個當作課后習題吧...

相關文章

  • PHP數組函數array_multisort()用法實例分析

    PHP數組函數array_multisort()用法實例分析

    這篇文章主要介紹了PHP數組函數array_multisort()用法,結合實例形式詳細分析了array_multisort函數的功能,定義及進行數組排序過程中的使用技巧,需要的朋友可以參考下
    2016-04-04
  • php報錯502badgateway解決方法

    php報錯502badgateway解決方法

    在本篇文章里小編給大家整理了關于php報錯502badgateway解決方法相關知識點,有需要的朋友們參考下。
    2019-10-10
  • PHP函數之error_reporting(E_ALL ^ E_NOTICE)詳細說明

    PHP函數之error_reporting(E_ALL ^ E_NOTICE)詳細說明

    在看帝國cms的connect.php是發(fā)現第一句是error_reporting(E_ALL ^ E_NOTICE);以前也沒注意過這個語句,知道是設置錯誤提示的,但不清楚具體怎樣設置使用。下面從網上摘抄了些東西,總結了一下。
    2011-07-07
  • Windows服務器中PHP如何安裝redis擴展

    Windows服務器中PHP如何安裝redis擴展

    一句話總結:下載擴展的dll,放入指定文件夾(php對應的擴展的目錄php/ext),在配置文件php.ini中注冊dll,這里就為大家分享一下
    2019-09-09
  • PHP中常見文本文件操作總結

    PHP中常見文本文件操作總結

    在PHP中,我們可以使用一些內置的函數來進行文本文件操作,本文主要為大家詳細介紹了一些常見的文本文件操作,有需要的小伙伴可以參考一下
    2023-12-12
  • php zlib壓縮和解壓縮swf文件的代碼

    php zlib壓縮和解壓縮swf文件的代碼

    我在以前寫過怎么使用c#來壓縮和解壓縮swf文件,解壓縮,壓縮和讀取flash頭文件信息
    2008-12-12
  • php中防止偽造跨站請求的小招式

    php中防止偽造跨站請求的小招式

    偽造跨站請求比較難以防范,而且危害巨大,攻擊者可以通過這種方式惡作劇,發(fā)spam信息,刪除數據等等。
    2011-09-09
  • 使用php+Ajax實現唯一校驗實現代碼[簡單應用]

    使用php+Ajax實現唯一校驗實現代碼[簡單應用]

    使用php+Ajax實現唯一校驗實現代碼[簡單應用],前臺用ajax后臺用php,需要的朋友可以參考下。
    2011-11-11
  • 淺談php錯誤提示及查錯方法

    淺談php錯誤提示及查錯方法

    本文給大家簡單總結了下php的3種錯誤提示和3種查錯的方法,非常簡單,記錄一下,以后補全,有需要的小伙伴先來MARK下吧
    2015-07-07
  • 怎么在Windows系統(tǒng)中搭建php環(huán)境

    怎么在Windows系統(tǒng)中搭建php環(huán)境

    因為很多php初學者在環(huán)境搭建這一環(huán)節(jié)就費了很大的功夫,導致失去了學習php的興趣,所以小編推薦初學者使用集成軟件搭建環(huán)境,隨著學習的不斷深入,再回過頭來了解環(huán)境
    2013-08-08

最新評論

长治县| 利津县| 浦城县| 邵阳县| 阳山县| 明溪县| 宜黄县| 万盛区| 山丹县| 营山县| 鲁甸县| 都江堰市| 庆城县| 谷城县| 沛县| 陵川县| 馆陶县| 汾西县| 望奎县| 衢州市| 承德市| 曲沃县| 长子县| 循化| 金寨县| 汝州市| 察雅县| 化隆| 鹿泉市| 洪江市| 渭南市| 京山县| 北辰区| 万安县| 盈江县| 柳林县| 顺义区| 房产| 苏州市| 剑河县| 弥勒县|