用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 相关文章推荐
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
一贴学会PHP 新手入门教程
Aug 03 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
php求数组全排列,元素所有组合的方法
May 05 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
cakephp常见知识点汇总
Feb 24 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 PHP
php输出形式实例整理
May 05 PHP
php实现记事本案例
Oct 20 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原理之Session Gc的一个小概率Notice
2011/04/12 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
PHP查询快递信息的方法
2015/03/07 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
2016/03/14 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
python动态性强类型用法实例
2015/05/09 Python
详解Python中find()方法的使用
2015/05/18 Python
Python变量和数据类型详解
2017/02/15 Python
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
python 常用的基础函数
2018/07/10 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
python实现井字棋小游戏
2020/03/04 Python
python实现梯度法 python最速下降法
2020/03/24 Python
Python基于locals返回作用域字典
2020/10/17 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
成品仓管员工作职责
2013/12/29 职场文书
集体备课反思
2014/02/12 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
庆七一活动总结
2014/08/27 职场文书
求职信范文怎么写
2015/03/19 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL