用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 相关文章推荐
?生?D片??C字串
Dec 06 PHP
在服务端进行目录建立、删除,文件上传、删除的过程的php代码
Sep 10 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
ThinkPHP5 验证器的具体使用
May 31 PHP
php微信开发之图片回复功能
Jun 14 PHP
php实现根据身份证获取精准年龄
Feb 26 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 批量查询搜狗sogou代码分享
2015/05/17 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
2020/08/06 Javascript
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
python3个性签名设计实现代码
2018/06/19 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Python timeit模块的使用实践
2020/01/13 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
如何学习Python time模块
2020/06/03 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
节能环保演讲稿
2014/08/28 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
全陪导游词开场白
2015/05/29 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL