以下為表結構
- 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;
}