仓酷云

标题: PHP网页编程之php开辟中适用的两条sql [打印本页]

作者: 谁可相欹    时间: 2015-2-4 00:09
标题: PHP网页编程之php开辟中适用的两条sql
实现固定数量的几张图片的上传;再如调试软件ZendStudio的使用,看了很多次老师的应用,但总感觉用的不顺手,不懂那么多的数据值,到底哪一个才是真正的问题所在;还有如数据库语句的封装,我只会用简单的函数来进行封装。   
这两天项目开辟中,需求完成一些对照适用的功效,用了两个利用的sql,总结一下,怕下次健忘了。
1. 检索数据库中跟提交的内容相婚配的内容
好比:提交的数据是“泅水”,那末数据库中有“我喜好泅水”字样的就算是婚配,然而如许一来,仍是不敷,好比我提交的是“周末去泅水”,数据库中有“泅水”的内容,其实意思相似,然而却利用like找不到的,因而想到上面的sql,已封装成函数了:
function getRelationTags($tagTitle,$cols="*")
{
  $titleFeildStrLen = 24; //3*8 四个汉字或24个字符.
  if ("" == $tagTitle) return false;

  $sql = "select  $cols from ".$TableName." where title != '' and (LOCATE(title,'$tagTitle') or ((issystem = 1 or LENGTH(title) <= $titleFeildStrLen) and title like '%".$tagTitle."%' )) order by LENGTH(title) ";
  $data  =& $db->getAll($sql);
  if(DB::isError($data)){
   return $this->returnValue($data->getMessage());
  }else{
   return $data;
  }
}
看sql:
select  $cols from ".$TableName." where title != '' and (LOCATE(title,'$tagTitle') or ((issystem = 1 or LENGTH(title) <= $titleFeildStrLen) and title like '%".$tagTitle."%' )) order by LENGTH(title)
其实就是两次婚配,一次是正向婚配,就是把提交的标签跟数据库中标签停止婚配,第二次是把数据库中的标签跟提交的标签停止婚配。
关头在LOCATE()函数,同时也限制了长度,由于mysql中的编码是:
set names 'utf8'
就是是utf8的,那末一个汉字要占用3个字节,字符只占用1个字节,所以下面的:
  $titleFeildStrLen = 24;
就是8个汉字和24个字符局限那的标签停止婚配。

2. 同类排序
数据库中好比是如许的内容:
北京     1023       1
天津     2301       1
上海    3450       1
天津    4520       1
北京    3902       1
那末我要提取一切的城市数据,而且把每种城市数据的总数跟其余城市总数停止对照后排序。
函数代码以下:
function getMostCity($num)
{
    $sql = "select count(id) as num,city from ".$TableName." where city != '' group by city order by num desc limit 0,$num;";
  $data =& $db->getAll($sql);
  if($db->isError($data))
   return false;
  else
   return $data;
}
咱们存眷一下下面的sql语句:
select count(id) as num,city from ".$TableName." where city != '' group by city order by num desc limit 0,$num
中心就是 group by city  把相似城阛阓中起来后依照多到少排序。

Author:  heiyeluren
writeTime: 2005-07-01  14:35

刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。
作者: 透明    时间: 2015-2-4 09:44
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 爱飞    时间: 2015-2-5 05:17
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 谁可相欹    时间: 2015-2-11 05:06
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 简单生活    时间: 2015-2-16 09:20
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 若相依    时间: 2015-3-5 03:24
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
作者: 小妖女    时间: 2015-3-7 12:06
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: admin    时间: 2015-3-15 03:57
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 乐观    时间: 2015-3-16 21:04
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 小女巫    时间: 2015-3-17 20:19
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 山那边是海    时间: 2015-3-25 00:04
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 金色的骷髅    时间: 2015-3-27 23:08
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 海妖    时间: 2015-3-29 15:00
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 第二个灵魂    时间: 2015-3-31 16:38
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
作者: 不帅    时间: 2015-4-3 03:19
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 因胸联盟    时间: 2015-4-7 09:22
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 兰色精灵    时间: 2015-4-7 13:11
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 仓酷云    时间: 2015-4-15 21:51
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 灵魂腐蚀    时间: 2015-4-19 08:54
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 活着的死人    时间: 2015-4-26 21:09
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2