澳门新葡亰平台官网用PHP实现小型站点广告管理(修正版)

前几日做照着例子做,发掘个中有众多不当的地点,为了让周边生手兄弟更加好的接头,作者把改进后的文书给大家看看。
数据布局如下: CREATE TABLE ad ( url varchar(100卡塔尔(قطر‎ NOT NULL, banner
varchar(150卡塔尔(قطر‎ NOT NULL, alt varchar(100卡塔尔国, priority int(4卡塔尔(قطر‎ DEFAULT ‘1’ NOT
NULL, State of Qatar增添广告的文件
***************putad.php********************
? if($submit卡塔尔国{ //管理表单数据的PHP程序;
//图片banner名和链接地址不能够为空; if (( banner!=) & ( url!=卡塔尔(قطر‎卡塔尔(قطر‎ {
//若广告链接和图表名已被采用,务必另选; if (file_exists(adbanner/.
$banner_nameState of Qatar卡塔尔(قطر‎ { echo 广告图片. banner_name.已被接收,请另选!; exit;
}; //上传链接图片文件名到adbanner目录; copy( $banner,adbanner/.
$banner_name); //连接MySQL数据库; include(config.incState of Qatar;
//向数据表ad中插入来自于表单的新数据; $query=insert into ad (url, alt,
priority, banner卡塔尔国 values(‘$url’,’$alt’,’$priority’,’$banner_name’卡塔尔;
//插入成功则显得以下新闻; $try=mysql_query($queryState of Qatar; if($tryState of Qatar{ echo
一条广告新扩张完毕,详细消息:; echo ; echo 广告网站:$url 广告链接验证:
$alt 展现加权:$priority ; }else{echo 出错;} } }else{ ? html head
titleUntitled/title /head body bgcolor=#ffffff p广告交流表/p form
method=post action=putad.php enctype=multipart/form-data p图 片 U揽胜极光L:
input type=file name=banner /p p连接 U猎豹CS6L: 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((doubleState of Qatarmicrotime(卡塔尔*1000000State of Qatar;
//获得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

图片链接广告大概是Infiniti常用的互连网广告形式,可是多条广告的动态随机展现可不是那么轻便的思想政治工作。PHP的文本上传函数提供了在这里块468×60像素的区域落到实处能够依据权值大小而任性突显广告的消除方案,进而制止了费用FTP程序或是ASP和Perl
CAI中需求外挂扩张本事落到实处此项职能的弊病。 本例在PHP4+MySQL+Apache for
Win9x/二〇〇〇下调节和测验通过,共满含两片段:用来扩充新广告的程序AddNewAd.php3以致呈现广告的顺序ShowAd.php3,都存放在服务器PHP文件目录下的“test/guanggao/”目录中。在guanggao目录中确立三个存放广告链接图片的子目录“adbanner/”。下边大家按步骤进行分析。
1.率先,建设构造MySQL数据库:guanggao
在Windows情况下,创立三个MySQL空数据库异常的粗略,因为种种数据库都以存在于mysql/data/目录下的一个子目录,所以倘使在该目录下新建子目录guanggao就足以了,那个时候数据库内还未有曾经担负何表和多少。
2.雏鹰展翅新添广告程序:AddNewAd.php3
设计思路:个中先用表单获得客商的新广告消息;然后用PHP函数copy文件上传出服务器adbanner目录下;最终将图纸文件名、广告网站、表达、加权消息等写入创设的MySQL数据表ad中。该程序代码如下:
# AddNewAd.php3——扩展新的广告 # 增加新广告
//表单用来输入新添广告音讯,并交给上边包车型大巴PHP程序管理;
//在那之中,加权值priority数字愈大,载入页面图片现身的机率就愈高,默以为1。
广告
Banner:广告网址U奥迪Q3L:图片链接表明ALT:展现加权://处理表单数据的PHP程序;
//图片banner名和链接地址无法为空; if (( banner!=””卡塔尔 & {
//若广告链接和图表名已被接受,必得另选; if (file_exists(“adbanner/”.
banner_nameState of Qatar卡塔尔国 { echo “广告图片. banner_name.已被接纳,请另选!”; exit;
}; //上传链接图片文件名到adbanner目录; copy( banner,”adbanner/”.
banner_name); //连接MySQL数据库; connection =
mysql_connect(State of Qatar;//选拔数据源guanggao,试行查询;;
mysql_select_db(“guanggao”, );query=”SELECT * FROM ad”;
result=mysql_query; //要是数据表ad一纸空文,则按以下结构创制新数据表ad;
if{ mysql_query(” create table ad not null, banner varchar not null,
alt varchar null, prioritytinyint default ‘1’ not null卡塔尔(قطر‎”卡塔尔(قطر‎ or die;}
//向数据表ad中插入来自于表单的新数据; query=”insert into ad(url,
banner, alt, priority卡塔尔(قطر‎ values(‘ url’, ‘ banner_name’, ‘ alt’, ‘
priority’卡塔尔(قطر‎”; //插入成功则显得以下新闻; try=mysql_query{ echo
“一条广告新扩张达成,详细消息: “; echo ” “; echo “广告网站:url
广告链接验证:alt 显示加权:priority “; } } ?>
3.建设构造突显广告程序:ShowAd.php3
设计思路:得到数据库表中全部各列音讯分级存到相应的一维数组中,将享有广告的权值相加获得多少个最大随机数,每一趟载入页面用srand函数爆发二个从1到最大随机数之间的三个随意数,然后根据一定的规行矩步随便呈现不相同广告条,权值越大被彰显的机缘越大。
# ShowAd.php3——随机突显广告 # //连接接收数据库; connection =
mysql_connect();mysql_select_db(“guanggao”,connection卡塔尔(قطر‎;
//实践查询获得广告条数; query=”SELECT url, banner, alt, priority FROM
ad where priority > 0″; result=mysql_db_query(“guanggao”,query);
numrows=mysql_num_rows;
//使用mysql_fetch_object(卡塔尔(قطر‎函数获取有效的列信息并存到相应数组中;
while( row = mysql_fetch_object { adurl[]= row->url;
adbanner[]= row->banner; adalt[]= row->alt; adpriority[]=
row->priority; } //最早化中间变量; numcheck= numrows; i= pricount=0;
//获得最大随机数; while { pricount+= adpriority[ i]; i++; numcheck–;
} //程序施行时的百非常之一秒发生随机数种子; srand*1000000State of Qatar;
//获得1到最大随机数之间的一个自便数; pri = rand; //中间变量清零;
pricount=0; //按加权值不一致,发生用来呈现广告的、成分为字串的数组; for {
pricount +=adpriority[ i]; if { ad[]=””; } }
//展现广告,权值越大,展现时机越大; echoad[0]; ?>

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图