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


Posted in PHP onOctober 09, 2006

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

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 相关文章推荐
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php学习之流程控制实现代码
Jun 09 PHP
Yii2实现ajax上传图片插件用法
Apr 28 PHP
thinkphp框架下404页面设置 仅三步
May 14 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
详解php中生成标准uuid(guid)的方法
Apr 28 PHP
PHP+MySql实现一个简单的留言板
Jul 19 PHP
BBS(php &amp; mysql)完整版(二)
Oct 09 #PHP
BBS(php &amp; mysql)完整版(三)
Oct 09 #PHP
将数字格式的计算结果转为汉字格式
Oct 09 #PHP
透析PHP的配置文件php.ini
Oct 09 #PHP
一个简单的自动发送邮件系统(三)
Oct 09 #PHP
一个简单的自动发送邮件系统(一)
Oct 09 #PHP
一个简单的自动发送邮件系统(二)
Oct 09 #PHP
You might like
星际争霸任务指南——人族
2020/03/04 星际争霸
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
一份婚庆公司创业计划书
2014/01/11 职场文书
个人作风剖析材料
2014/02/02 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
Python作用域和名称空间的详细介绍
2022/04/13 Python
解决Springboot PostMapping无法获取数据的问题
2022/05/06 Java/Android