用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字符串截取问题
Nov 28 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
php将服务端的文件读出来显示在web页面实例
Oct 31 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
javascript date格式化示例
2013/09/25 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
2019/02/13 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
Vue实现简单购物车功能
2020/12/13 Vue.js
Python functools模块学习总结
2015/05/09 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
小学红领巾中秋节广播稿
2014/01/13 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
2016年端午节寄语
2015/12/04 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python