您的位置:首页网页设计PHP实例 → 用PHP实现小型站点广告管理(修正版)

用PHP实现小型站点广告管理(修正版)

时间:2004/11/7 3:27:00来源:本站整理作者:蓝点我要评论(0)

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。

数据结构如下:



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{

    ?>





        

Untitled








广告交换表






  

图 片 URL:

    

  



  

连接 URL:

    



  

显示权数:

    


连接说明:

    



  






    

    

  









***************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[]="";

    }

    }

    //显示广告,权值越大,显示机会越大;

    echo  $ad[0];

    ?>





注释:其中config.inc里面就是连接mysql数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:terence611005@sina.com

有问题请和我联系:oicq:18680986  



相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 我的php文件怎么打开_php运算符怎么写 php 如何生成静态页面的函数PHP生成图片缩略图PHP session常见问题集锦及解决办法PHP实现同步远程Mysql

人气排行 DEDE在文章列表文章没有缩略图的不显示图片php+mysq修改用户密码我的php文件怎么打开_如何打开php文件的办法FCKeditor的配置和使用方法使用dedecms建站教程PHP+Ajax实现分页技术图片存储与浏览一例Linux+Apache+PHP+MySQLPHP生成图片缩略图