用PHP实现小型站点广告管理(修正版)

5年以前  |  阅读数:363 次  |  编程语言:PHP 

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。
数据结构如下:

CREATE TABLE ad (
url varchar(100) NOT NULL,
banner varchar(150) NOT NULL,
alt varchar(100),
priority int(4) DEFAULT '1' NOT NULL,
)

增加广告的文件
***putad.php****

<? if($submit){
//处理表单数据的PHP程序;
//图片banner名和链接地址不能为空;
if (( banner!="") & ( url!="")) {
//若广告链接和图片名已被使用,必须另选;
if (file_exists("adbanner/". $banner_name)) {
echo "广告图片. banner_name.已被使用,请另选!";
exit;
};
//上传链接图片文件名到adbanner目录;
copy( $banner,"adbanner/". $banner_name);
//连接MySQL数据库;
include("config.inc");
//向数据表ad中插入来自于表单的新数据;
$query="insert into ad (url, alt, priority, banner) values('$url','$alt','$priority','$banner_name')";
//插入成功则显示以下信息;
$try=mysql_query($query);
if($try){
echo "一条广告新增完成,详细信息:";
echo "";
echo "广告网址: $url
广告链接说明: $alt
显示加权: $priority ";
}else{echo "出错";}
}
}else{
?>

Untitled

广告交换表

图 片 URL:

连接 URL:

显示权数:

连接说明:

***showad.php****

<?
include("config.inc");
$query="SELECT url, banner, alt, priority from ad";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
//使用mysql_fetch_object()函数获取有用的列信息并存到相应数组中;
while($row = mysql_fetch_object($result)) {
$adurl[]=$row->url;
$adbanner[]=$row->banner;
$adalt[]=$row->alt;
$adpriority[]=$row->priority;
}
//初始化中间变量;
$numcheck=$numrows;
$i=$pricount=0;
//得到最大随机数;
while($numcheck) {
$pricount+=$adpriority[$i];
$i++; $numcheck--;
}
//程序执行时的百万分之一秒产生随机数种子;
srand((double)microtime()*1000000);
//得到1到最大随机数之间的一个随机数;
$pri= rand(1,$pricount);
//中间变量清零;
$pricount=0;
//按加权值不同,产生用来显示广告的、元素为字串的数组;
for($i=0;$i<$numrows;$i++) {
$pricount+=$adpriority[$i];
if ($pri<=$pricount) {
$ad[]="$adalt[$i]";
}
}
//显示广告,权值越大,显示机会越大;
echo $ad[0];
?>

注释:其中config.inc里面就是连接mysql数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:terence611005@sina.com
有问题请和我联系:oicq:18680986

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例