今天做照著例子做,發現其中有很多錯誤的地方,為了讓廣大菜鳥兄弟更好的理解,我把修改后的文件給大家看看。 數據結構如下:
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
|