仓酷云
标题:
PHP编程:用PHP+MySQL 完成小型站点告白办理
[打印本页]
作者:
老尸
时间:
2015-2-4 00:11
标题:
PHP编程:用PHP+MySQL 完成小型站点告白办理
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。mysql|告白|站点
图片链接告白也许是最为经常使用的收集告白形式,然而多条告白的静态随机显示可不是那末复杂的工作。PHP的文件上传函数供应了在这块468x60像素的区域(网页告白的尺度尺寸)完成可以依据权值巨细而随机显示告白的处理计划,从而防止了开辟FTP法式或是ASP和Perl CAI中需求外挂扩大才干完成此项功效的坏处。
本例在PHP4+MySQL+Apache for Win9x/2000下调试经由过程,共包含两局部:用来增添新告白的法式AddNewAd.php3和显示告白的法式ShowAd.php3,都寄存在办事器PHP文件目次下的“test/guanggao/”目次中。在guanggao目次中创立一个寄存告白链接图片的子目次“adbanner/”。上面咱们按步调停止剖析。
1.起首,创立MySQL数据库:guanggao
在Windows情况下,创立一个MySQL空数据库很复杂,由于每一个数据库都是存在于mysql/data/目次下的一个子目次,所以只需在该目次下新建子目次guanggao就能够了,这时候数据库内还没有任何表和数据。
2.创立新增告白法式:AddNewAd.php3
设计思绪:个中先用表单失掉用户的新告白信息;然后用PHP函数copy()将链接图片(banner)文件上传到办事器adbanner目次下;最初将图片文件名、告白网址、申明、加权信息等写入创立的MySQL数据表ad中。该法式代码以下:
# AddNewAd.php3――增加新的告白 #
<center><h1>增加新告白</h1></center>
//表单用来输出新增告白信息,并交给上面的PHP法式处置;
//个中,加权值priority数字愈大,载入页面图片呈现的机率就愈高,默许为1。
<FORM ENCTYPE="multipart/form-data" ACTION="AddNewAd.php3" METHOD=POST>
告白 Banner: <input name=banner TYPE="file"><br>
告白网址URL: <input name=url type=text size=30><br>
图片链接申明ALT: <input name=alt type=text size=30><br>
显示加权: <input name=priority type=text size=5 value=1><br>
<input type="submit" VALUE="提交">
</FORM>
//处置表双数据的PHP法式;
<?php
//图片banner名和链接地址不克不及为空;
if (( banner!="") & ( url!="")) {
//若告白链接和图片名已被利用,必需另选;
if (file_exists("adbanner/". banner_name)) {
echo "告白图片. banner_name.已被利用,请另选!";
exit;
};
//上传链接图片文件名到adbanner目次;
copy( banner,"adbanner/". banner_name);
//毗连MySQL数据库;
connection = mysql_connect();
//选择数据源guanggao,履行查询;;
mysql_select_db("guanggao", );
query="SELECT * FROM ad";
result=mysql_query( query);
//假如数据表ad不存在,则按以下布局创立新数据表ad;
if(!result){
mysql_query("
create table ad(
url varchar(100) not null,
banner varchar(150) not null,
alt varchar(100) null,
priority tinyint(4) default 1 not null
)") or die(mysql_error());
}
//向数据表ad中拔出来自于表单的新数据;
query="insert into ad(url, banner, alt, priority) values( url, banner_name,
alt, priority)";
//拔出胜利则显示以下信息;
try=mysql_query( query);
if( try){
echo "一条告白新增完成,具体信息:
";
echo "<a href=" url"><img src="adbanner/ banner_name" alt=". alt." border=0></a><br>";
echo "告白网址: url<br>告白链接申明: alt<br>显示加权: priority ";
}
}
?>
3.创立显示告白法式:ShowAd.php3
设计思绪:失掉数据库表中一切各列信息分离存到响应的一维数组中,将一切告白的权值相加失掉一个最大随机数,每次载入页面用srand() 发生一个随机树种子,再用rand()函数发生一个从1到最大随机数之间的一个随机数,然后依照必定的划定规矩随机显示分歧告白条,权值越大被显示的时机越大。
# ShowAd.php3――随机显示告白 #
<?php
//毗连选择数据库;
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( 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-1; i++) {
pricount += adpriority[ i];
if ( pri <= pricount) {
ad[]="<a href=" adurl[ i]" target=new></a>";
}
}
//显示告白,权值越大,显示时机越大;
echo ad[0];
?>
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。
作者:
愤怒的大鸟
时间:
2015-2-4 09:54
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者:
admin
时间:
2015-2-9 21:58
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者:
深爱那片海
时间:
2015-2-10 15:44
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者:
飘飘悠悠
时间:
2015-2-17 18:53
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
作者:
兰色精灵
时间:
2015-3-4 04:00
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者:
灵魂腐蚀
时间:
2015-3-8 04:51
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
若相依
时间:
2015-3-15 20:37
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者:
透明
时间:
2015-3-22 04:09
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者:
老尸
时间:
2015-3-22 04:09
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者:
蒙在股里
时间:
2015-3-22 04:09
Ps:以上纯属原创,如有雷同,纯属巧合
作者:
爱飞
时间:
2015-3-22 04:09
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者:
小魔女
时间:
2015-3-22 04:09
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者:
金色的骷髅
时间:
2015-3-23 17:13
兴趣是最好的老师,百度是最好的词典。
作者:
莫相离
时间:
2015-3-24 12:32
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者:
谁可相欹
时间:
2015-3-30 18:26
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者:
山那边是海
时间:
2015-4-2 19:28
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线 \\\\\\\'_\\\\\\\' ;
作者:
因胸联盟
时间:
2015-4-10 06:43
写的比较杂,因为我也是个新手,不当至于大家多多指正。
作者:
简单生活
时间:
2015-4-16 02:10
爱上php,他也会爱上你。
作者:
活着的死人
时间:
2015-4-24 23:29
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者:
分手快乐
时间:
2015-5-3 05:29
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2