用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面向对象中的魔术方法中文说明
Mar 04 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
php无限极分类递归排序实现方法
Nov 11 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
PHP中使用curl入门教程
Jul 02 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
Zend Framework分页类用法详解
Mar 22 PHP
php集成动态口令认证
Jul 21 PHP
php微信支付之公众号支付功能
May 30 PHP
php微信开发之谷歌测距
Jun 14 PHP
ThinkPHP3.2框架操作Redis的方法分析
May 05 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的方法
2007/03/16 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
IE与FireFox中的childNodes区别
2011/10/20 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
用python代码做configure文件
2014/07/20 Python
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
OpenCV实现人脸识别
2017/04/07 Python
Python学习小技巧之列表项的排序
2017/05/20 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
python机器人行走步数问题的解决
2018/01/29 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
Django REST framework 视图和路由详解
2019/07/19 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
知识竞赛活动方案
2014/02/18 职场文书
廉洁教育学习材料
2014/05/19 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server