今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。 
数据结构如下: 
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数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。					
			
用PHP实现小型站点广告管理(修正版)
                    80酷酷网    80kuku.com 
       
  
 
 
  
