fuqian

广告位及广告设计及代码实现

以下为表结构

  1. ad_position 广告位
字段 类型 Null/默认 注释
position_id tinyint(3) 否/ 广告位自增id
position_name varchar(60) 否/ 广告位名称
ad_width smallint(5) 否/0 广告位宽度
ad_height smallint(5) 否/0 广告高度
position_desc varchar(255) 否/ 广告位描述
position_style text 否/ 广告位模板代码
CREATE TABLE `ecs_ad_position` (
`position_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
  `position_name` varchar(60) NOT NULL DEFAULT \'\',
  `ad_width` smallint(5) unsigned NOT NULL DEFAULT \'0\',
  `ad_height` smallint(5) unsigned NOT NULL DEFAULT \'0\',
  `position_desc` varchar(255) NOT NULL DEFAULT \'\',
  `position_style` text NOT NULL,
  PRIMARY KEY (`position_id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  1. ad 广告表
字段 类型 Null/默认 注释
ad_id smallint(5) 否/ 自增ID号
position_id smallint(5) 否/0 0,站外广告;从1开始代表的是该广告所处的广告位,同表ad_postition中的字段position_id的值
media_type tinyint(3) 否/0 广告类型,0图片;1flash;2代码3文字
ad_name varchar(60) 否/ 该条广告记录的广告名称
ad_link varchar(255) 否/ 广告链接地址
ad_code text 否/ 广告链接的表现,文字广告就是文字或图片和flash就是它们的地址
start_time int(11) 否/0 广告开始时间
end_time int(11) 否/0 广告结速时间
link_man varchar(60) 否/ 广告联系人
link_email varchar(60) 否/ 广告联系人的邮箱
link_phone varchar(60) 否/ 广告联系人的电话
click_count mediumint(8) 否/0 该广告点击数
enabled tinyint(3) 否/1 该广告是否关闭;1开启;0关闭;关闭后广告将不再有效
CREATE TABLE `ecs_ad` (
  `ad_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `position_id` smallint(5) unsigned NOT NULL DEFAULT \'0\',
  `media_type` tinyint(3) unsigned NOT NULL DEFAULT \'0\',
  `ad_name` varchar(60) NOT NULL DEFAULT \'\',
  `ad_link` varchar(255) NOT NULL DEFAULT \'\',
  `ad_code` text NOT NULL,
  `start_time` int(11) NOT NULL DEFAULT \'0\',
  `end_time` int(11) NOT NULL DEFAULT \'0\',
  `link_man` varchar(60) NOT NULL DEFAULT \'\',
  `link_email` varchar(60) NOT NULL DEFAULT \'\',
  `link_phone` varchar(60) NOT NULL DEFAULT \'\',
  `click_count` mediumint(8) unsigned NOT NULL DEFAULT \'0\',
  `enabled` tinyint(3) unsigned NOT NULL DEFAULT \'1\' COMMENT \'显示\',
  PRIMARY KEY (`ad_id`),
  KEY `position_id` (`position_id`),
  KEY `enabled` (`enabled`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

php代码 Thinkphp 3.2实现

/**
 * 获取广告位中的广告
 * @param $position 广告位
 * @param int $num 广告数量
 * @return mixed    广告列表
 */
function getAdList($position, $num = 1)
{
    // $where = array(\'id\' => $position, );
    //$adPosition = M("AdvertisingPosition")->where($where)->getField(\'advertising_id\');
    //$map[\'position\'] = array(\'eq\',$adPosition);
    $map[\'position\'] = array(\'eq\', $position);
    $map[\'start_time\'] = array(\'lt\', time());
    $map[\'end_time\'] = array(\'gt\', time());
    $ad_list = M("Advertising")->where($map)->limit($num)->order(\'sort desc\')->select();
    return $ad_list;
}

分类:

技术点:

相关文章: