文章详情页
用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{ ;;;;?> <html> <head> <title>Untitled</title> </head> <body bgcolor="#ffffff"> <p>广告交换表</p> <form method="post" action="putad.php" enctype="multipart/form-data"> ;;<p>图 片 URL: ;;;;<input type="file" name="banner"> ;;</p> ;;<p>连接 URL: ;;;;<input type="text" name="url"> </p> ;;<p>显示权数: ;;;;<input type="text" name="priority"></p> <p>连接说明: ;;;;<input type="text" name="alt"> ;;</p> <p> ;;;;<input type="submit" name="submit" value="确定"> ;;;;<input type="reset" name="concel" value="重填"> ;;</p> </form> </body> </html> <?}?> ***************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[]="<a href=$adurl[$i]><img src=adbanner$adbanner[$i] alt=$adalt[$i] border=0></a>";;;} ;;;;} ;;;;//显示广告,权值越大,显示机会越大; ;;;;echo;;$ad[0]; ;;;;?> 注释:其中config.inc里面就是连接mysql数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:terence611005@sina.com 有问题请和我联系:oicq:18680986;;
标签:
PHP
排行榜