我希望在网站上轮换广告,但我想提出一个考虑以下因素的公式:
- 时间戳(最近创建的广告应该具有高优先级)
- 展示次数(观看次数较少的广告应具有高优先级)。理想情况下,我想为每个广告设置每月展示次数的配额。
- 一个权重(那些权重高的广告应该有高优先级)
最后,我想谈谈如何随机化结果。将这些因素纳入 PHP 脚本或 mysql 查询的最佳方法是什么?到目前为止,我已经尝试过这样的查询:
$result = mysql_query ("SELECT * FROM banner_ads WHERE usedImpressions/totalImpressions < $threshold OR usedImpressions = 0 ORDER BY RAND() LIMIT 1");
但是当然这里最大的限制是阈值应该是一个好的值,并且它仍然没有考虑创建它的权重或时间戳。