以下为表结构
- 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;
- 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;
}