当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用PHP实现小型站点广告管理(修正版)

PHP
php ignore_user_abort与register_shutdown_function 使用方法
PHP写MySQL数据 实现代码
phpmyadmin 访问被拒绝的真实原因
PHP 程序员也要学会使用“异常”
php MYSQL 数据备份类
PHP 类型转换函数intval
php 图像函数大举例(非原创)
PHP 输出缓存详解
PHP COOKIE设置为浏览器进程
ie6 动态缩略图不显示的原因
php 将bmp图片转为jpg等其他任意格式的图片
discuz7 phpMysql操作类
一个php Mysql类 可以参考学习熟悉下
php 分页函数multi() discuz
学习discuz php 引入文件的方法DISCUZ_ROOT
php fckeditor 调用的函数
mysql 性能的检查和优化方法
PHP 高级课程笔记 面向对象
PHP 多进程 解决难题
php 404错误页面实现代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 248 ::
收藏到网摘: n/a

今天做照着例子做,发现其中有很多错误的地方,为了让广大菜鸟兄弟更好的理解,我把修改后的文件给大家看看。
数据结构如下:
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数据库的东西,在这就不列出来了。上面的程式还有改进空间,还有好多功能没实现,如果你愿意你也可以修改。不过修改后最好给一份给我:[email protected]
有问题请和我联系:oicq:18680986