仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1290|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:用PHP+MySQL 完成小型站点告白办理

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。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:46 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
admin 该用户已被删除
板凳
发表于 2015-2-9 21:58:03 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
深爱那片海 该用户已被删除
地板
发表于 2015-2-10 15:44:03 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-17 18:53:09 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
兰色精灵 该用户已被删除
6#
发表于 2015-3-4 04:00:26 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-8 04:51:39 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
若相依 该用户已被删除
8#
发表于 2015-3-15 20:37:56 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
透明 该用户已被删除
9#
发表于 2015-3-22 04:09:30 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
老尸 该用户已被删除
10#
 楼主| 发表于 2015-3-22 04:09:30 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
爱飞 该用户已被删除
11#
发表于 2015-3-22 04:09:34 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
小魔女 该用户已被删除
12#
发表于 2015-3-22 04:09:34 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
蒙在股里 该用户已被删除
13#
发表于 2015-3-22 04:09:30 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
金色的骷髅 该用户已被删除
14#
发表于 2015-3-23 17:13:22 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
莫相离 该用户已被删除
15#
发表于 2015-3-24 12:32:26 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
谁可相欹 该用户已被删除
16#
发表于 2015-3-30 18:26:53 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
山那边是海 该用户已被删除
17#
发表于 2015-4-2 19:28:49 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
因胸联盟 该用户已被删除
18#
发表于 2015-4-10 06:43:23 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
简单生活 该用户已被删除
19#
发表于 2015-4-16 02:10:02 | 只看该作者
爱上php,他也会爱上你。
活着的死人 该用户已被删除
20#
发表于 2015-4-24 23:29:39 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-12 15:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表