用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原理之异常机制
Aug 21 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
Notice: Trying to get property of non-object problem(PHP)解决办法
Mar 11 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
PHP制作万年历
Jan 07 PHP
浅谈php命令行用法
Feb 04 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
tp5递归 无限级分类详解
Oct 18 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 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
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
详解JavaScript异步编程中jQuery的promise对象的作用
2016/05/03 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
使用SAE部署Python运行环境的教程
2015/05/05 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
详解Python传入参数的几种方法
2019/05/16 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
商务主管岗位职责
2013/12/08 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python