• 技术文章 >后端开发 >php教程

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

    2016-06-01 12:29:30原创257
    今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。
    数据结构如下:

    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********************

    //处理表单数据的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[]="$adalt[$i]";
    }
    }
    //显示广告,权值越大,显示机会越大;
    echo $ad[0];
    ?>


    注释:其中config.inc里面就是连接mysql数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:terence611005@sina.com
    有问题请和我联系:oicq:18680986
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:简单易用的计数器(数据库)_PHP 下一篇:文件上传的实现_PHP
    PHP编程就业班

    相关文章推荐

    • 面试官:列举几种PHP拓展的实现手段及其性能比较?• PHP的Yii框架中Model模型的学习教程,yiimodel_PHP教程• 用PHP与XML联手进行网站编程_PHP教程• php入门教程 精简版_PHP教程• 在线竞拍系统的PHP实现框架(二)_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网