用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 20 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
PHP中Laravel 关联查询返回错误id的解决方法
Apr 01 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
php strftime函数的详细用法
Jun 21 PHP
PHP常见过waf webshell以及最简单的检测方法
May 21 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 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
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP多进程编程实例详解
2017/07/19 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
微信小程序五星评分效果实现代码
2017/04/06 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
使用JS动态显示文本
2017/09/09 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
2017/08/30 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
python将数据插入数据库的代码分享
2020/08/16 Python
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
我们的节日清明节活动总结
2014/04/30 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
学校安全管理制度
2015/08/06 职场文书
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers