Archive

Archive for the ‘程序学习’ Category

关于HTML5你所需要知道的

十月 27th, 2011

 

HTML5的到来将第五代网络语言带入了多媒体的世界。尽管HTML5的启动并没有多轰轰烈烈,但是在过去6个月还是有不少的软件开发者开始应用HTML5。然而,在选择HTML5时,有一些基本注意事项大家还是需要了解的。

 它新并不表示它安全

  网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全。HTML5所购建的网页和其他语言编写的网页一样容易泄露一些敏感数据。欧洲网络信息安全机构(European Network and Information Security Agency,ENISA)已经警告说HTML5可能并不够安全。

  它可能会消灭Flash但不是现在

  许多业内人士表示,HTML将会最终代替多媒体框架,如Adobe的Flash,但是短期看来还不是现在。HTML5估计到2014年才能逐步成熟,而且将现有应用Flash的网络开发完全转向HTML5还需要一段时间。尽管HTML5提出了许多优点,但是还可能有某些应用更适合于更灵活的框架。现在,一些主流的大公司都逐步转向使用HTML5,但是这个转变的过程也不是一蹴而就的。

  它将会变得很移动化

  现在几乎所有人都热衷于开发独立的移动应用,但是HTML5很可能会是独立移动应用的终结者。由于HTML5将应用的功能直接加入其内核,这很可能引导移动技术潮流重新回到浏览器时代。HTML5允许开发者在(移动)浏览器内开发应用,所以如果你正在制定一项桌面或者移动应用的长期发展策略,你可能需要考虑这一点。

  它承诺带来一个无缝的网络

  HTML5会带来一个统一的网络,无论是笔记本、台式机还是智能手机都应该很方便的浏览基于HTML5的网站。因此在设计网站的时候,开发者需要重新考虑用户体验、网站浏览、网站结构等因素使得这个网站对任何硬件设备都通用。

  它会变成企业的SaaS平台

  一些重量级的企业,如微软、Salesforce、SAP Sybase正在开发HTML5的开发工具。如果你正在构建企业应用,很可能不久的将来你就要用到HTML5。所以当构建公司的SaaS战略迁移的时候也不要忘记HTML5。

 

程序学习 ,

PHP视频教程-PHP面向对象之构造和析构方法

十月 25th, 2011

我们继续上次的PHP面向对象设计的相关介绍,上一篇我们介绍了PHP的继承:PHP视频教程-PHP面向对象之继承性,今天我们来学习一下PHP面向对象中的构造和析构方法。

本视频主要介绍了常用的一个对象方法内部使用的关键字$this的应用, 重点介绍了构造方法的声明与使用,以及构造方法的作用,还介绍了构造方法的声明与应用,并介绍了一些魔术方法的使用。

程序学习 , ,

PHP视频教程-PHP面向对象的三大特性之继承性

十月 22nd, 2011

最近在学习PHP面向对象设计,因为正在构思和设计一个PHP Webservice框架程序,准备使用PHP面向对象的设计思想及模式,不过好久不接触面向对象的相关内容了,有点生疏,今天在这里分享一个PHP视频教程-PHP面向对象的三大特性之一的继承性。

本文主要介绍了面向对象的三大特性之一继承性,包括PHP继承的形式,继承使用的意义,主要介绍的是继承的应用,还有继承时的权限控制(private protected public 比较), 最后介绍的就是继承中常用到的在子类中重载父类的方法,对父类方法功能进行改写或扩展。

程序学习 , ,

PHP面向对象设计的一本电子书分享

十月 20th, 2011

做PHP开发也有很多年了,但一直很少使用面向对象的思想来进行思考和编写,最近在写一个Webservice架构程序,准备使用面向对象的理念进行设计,才开始更深入的学习一下PHP面向对象设计。

在网上找到了一本很不错的电子书,叫《PHP设计模式》,这本书全面的介绍了一些比较著名的设计模式,它们不仅限于PHP开发,大多在其他语言和领域都有很好的应用,本书的所有观点都是基于面向对象的设计模式,并且样例程序都是采用面向对象的方式进行实现,对于我们想要了解学习PHP面向对象设计有很大的帮助,在这里向大家推荐一下。

下面是PHP设计模式目录:

1.编程惯用法

2.值对象模式(The Value Object Pattern)

3.工厂模式(The Factory Pattern)

4.单件模式

5.注册模式

6.伪对象模式

7.策略模式

8.迭代器模式

9.观测模式

10.规范模式

11.代理模式

12.装饰器模式

13.适配器模式

14.动态记录模式

15.表数据网关模式

16.数据映射模式

17.MVC 模式

18.结论

最后给大家奉上《PHP设计模式》电子书下载地址:

 

程序学习 ,

JQuery EasyUI表格操作实例代码解析

九月 8th, 2011

前段时间写过一篇关于Jquery EasyUI如何提交数据的文章:基于JQuery EasyUI框架的两种数据提交方式,经过这段时间的使用和学习,今天再次整理部分关于Jquery EasyUI表格编辑的相关操作,今天主要是对Jquery EasyUI的表格操作部分功能进行整理和说明。

(点击图片查看大图)

先做大概的分析和介绍,JQuery EasyUI表格操作实例代码Demo演示程序及代码下载在文章的最后有提供,如果有需要的朋友可以下载看一下。

1.用表格列出数据库中的数据

(点击图片查看大图)

我们想要像平时在网页表格中显示的一样利用Jquery EasyUI来实现数据的表格的显示,首先定义表格用于稍后显示数据。

<table id="tbdata"></table>

下面就是实现定义表格及显示数据的主要代码,field为数据字段名,title为界面显示的表头名称,最后的是对表格行数据的相关操作定义

 url: 'demo.php?gettype=json&rows='+rows+'&page='+page,
 title: '列表',
 width: 800,
 height:350,
 //height: 'auto',
 fitColumns: true, //滚动条
 columns:[[
  {field:'id',title:'ID',width:80},
  {field:'funname',title:'调用接口函数名',width:120},
  {field:'sip',title:'来源IP',width:80,align:'right'},
  {field:'sysname',title:'来源系统',width:80,align:'right'},
  {field:'rtime',title:'调用时间',width:250},
  {field:'action',title:'操作',width:80,align:'center',
   formatter:function(value,row,index){
    if (row.editing){
     var s = '<a href="#" onclick="saverow('+index+')">Save</a> ';
     var c = '<a href="#" onclick="cancelrow('+index+')">Cancel</a>';
     return s+c;
    } else {
     var e = '<a href="#" onclick="editrow('+index+')"></a> ';
     var d = '<a href="#" onclick="deleterow('+row.id+','+index+')">Delete</a>';
     return e+d;
    }
   }
  }
 ]],

通过url的链接及传递的显示函数(rows)和页码(page)的参数来控制页面显示的数据。接下来就是把数据传递进去,让表格能够显示

 for($ii=0; $ii<$rows; $ii++)
 {
  $rowA[]=array(
   'productid'=>'RP-SN-'.mt_rand(10,999),
   'unitcost'=>mt_rand(10,999).'.00',
   'status'=>'P'.$ii,
   'listprice'=>mt_rand(10,999).'.00',
   'attr1'=>'G'.$page,
   'itemid'=>'E-'.$rows,
  );
 }
 $dataA=array(
  'total' =>30,
  'rows' =>$rowA,
 );
 echo(json_encode($dataA));exit();

在这里我未连接数据库,简单创建了一些随机数用于演示,其实使用数据库查询也很简单,如下面的代码:

 $cnum = $rows * ($page-1);
 $sql = "select id,funname,sip,sysname,rtime from webservice_log order by id desc limit $cnum ,$rows";
 $res = mysql_query($sql);
 while($row = mysql_fetch_array($res))
 {
  (int)$cnum ++;
  $rowA[]=array(
   'id'=>$row['id'],
   'funname'=>$row['funname'],
   'sip'=>$row['sip'],
   'sysname'=>iconv("GBK","UTF-8",$sourA[$row['sysname']]),
   'rtime'=>date('Y-m-d H:i:s',$row['rtime']),
  );
 }
 $dataA=array(
  'total' =>$total,
  'rows' =>$rowA,
 );
 echo(json_encode($dataA));exit();

上面的代码比较简单,相信大家一看就能明白的,通过limit来取到指定范围内的记录数。

2.获取表格某一列的值

我们如果要对某一行数据进行修改,删除操作时,肯定是需要获取到该行记录的一个key值,无论是
直接传值还是通过id来获取,而在这里取值其实是很简单的,参考这段代码:

 formatter:function(value,row,index){
  if (row.editing){
   var s = '<a href="#" onclick="saverow('+index+')">Save</a> ';
   var c = '<a href="#" onclick="cancelrow('+index+')">Cancel</a>';
   return s+c;
  } else {
   var e = '<a href="#" onclick="editrow('+index+')"></a> ';
   var d = '<a href="#" onclick="deleterow('+row.id+','+index+')">Delete</a>';
   return e+d;
  }

上面的函数获取到的row应该是一个对象,然后我们要取得某一列的值时,直接使用row.字段名的形式,如上面的row.id,这样就能很方便的获取到该key值,然后通过它直接就可以对数据库中的这条记录进行操作了,而index则为行索引,它可以用来直接在页面上显示出页面不刷新而记录数实时变化的效果。

3.修改某一行的值
(点击图片查看大图)

通过下面的这段代码可以对点击修改按钮时可以修改按钮的显示文字,把修改和删除按钮文字改为保存和取消,其实还是比较简单的

formatter:function(value,row,index){
 if (row.editing){
 var s = '<a href="#" onclick="saverow('+index+','+row.id+')">保存</a> ';
 var c = '<a href="#" onclick="cancelrow('+index+')">取消</a>';
 return s+c;
 } else {
 var e = '<a href="#" onclick="editrow('+index+')">编辑</a> ';
 var d = '<a href="#" onclick="deleterow('+index+','+row.id+')">删除</a>';
 return e+d;
 }
 }

如果要修改某一列的话,则在数据显示的代码段的位置,指定列后面加上下面的代码:

    formatter:function(value){
     return value;
    },
    editor:{
     type:'text',
     options:{
      valueField:'burl',
      textField:'burl',
      data:burl,
      required:true
     }
    }

具体有不理解的可以参考代码,最后提供一个完整的表格操作代码演示,下载地址稍后提供。

简单演示地址:http://www.hongxincao.com/demo/url.php

Jquery EasyUI DEMO演示代码下载:Jquery-EasyUI-Demo-www.hongxincao.com-.rar

文章来源:红心草

原文地址:http://www.hongxincao.com/archives/612.html

程序学习 , ,

利用JS实现自动打开页面上的链接

八月 31st, 2011

今天经过测试,实现了利用JS来自动打开页面上的链接的功能,其实比较简单,就是在页面上把链接列表列出来,然后通过JQuery的相关控制,在框架页中把链接打开,具体能做什么用,大家自己想,哈哈。

在这里做一下简单记录,防止自己忘记。

下面是实现自动点击打开链接的主要函数,功能不再细说,防止太多人滥用,有心的人一看就会明白,改把改把就是一个邪恶的程序:

function randopen()
{
 var len = $(“#urllist option”).length;
 var num = 10;
 for(i=1; i<=num; i++)
 {
  randnum = Math.random()*len;
  zn = Math.round(randnum);
  u = $(“#”+zn).val();
  window.open(u,”urlfrm”+i);
 }
}

记录一下,仅供各位参考。

文章来源:红心草博客

原文链接:http://www.hongxincao.com/archives/609.html

程序学习 ,

基于JQuery EasyUI框架的两种数据提交方式

八月 30th, 2011

最近由于工作的需要开始接触学习Jquery EasyUI框架,纯JQuery之前在写代码的时候接触过一些,之前也整理过一篇关于JQeury操作的文章:Jquery常用表单操作整理记录,如果有兴趣,大家可以去看一下。

在刚接触JQuery EasyUI框架时感觉还是挺复杂的,特别是涉及到数据提交方面的内容,自己初次使用,有点不适应,自己在网上也找了一些介绍和使用,再加上自己的实际测试整理了一部分关于利用JQuery EasyUI框架进行数据提交的方式,在这里做一个记录。

可能有些朋友不清楚什么是JQuery EasyUI,在这里首先简单介绍一下。

什么是JQuery EasyUI

jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。

jQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,tree,validatebox,window等等。

通过对它的使用和了解,的确是在界面样式设计方面给我们节省了大量时间,可以让我们把绝大部分时间专注与程序结构及功能的实现。

下面就对基于JQuery EasyUI框架的数据提交的方式进行部分说明,虽然都是基于Form的数据提交,但其实现方式和写法有多种形式,下面就逐一进行说明

1.JQuery EasyUI

$('#frm').form({
    url:'/demo7/ProcessServlet',
    onSubmit:function(){
        return $(this).form('validate'); }, success:function(data){
        alert(data);
    }
});

其中frm为form表单的id,其本质就是基于form的submit提交方式,我的开发环境是PHP,我在测试时这种方式并未完成。

2.JQuery EasyUI Ajax提交

其实质就是利用JQuery的异步提交方式:

$.ajax({
url: "post_url.php",
type: "post",
data: "param1=value1&param2=value2&...",
datatype:"json",
success: function(data){
    alert(data);
  }
});

这种方式实际上就是JQuery自己的异步提交方式,在JQuery EasyUI框架中同样适用,自己在项目中使用的就是这种方式,上一种一直无法调试成功,若有成功的朋友,可以告知一下哦,我是利用PHP进行开发的。

以上就是JQuery EasyUI框架的提交数据的两种方式,希望对你能够有所帮助。

来源:红心草博客

原文地址:http://www.hongxincao.com/archives/606.html

程序学习 , ,

新浪微博API开发简介之PHP基础篇-用户授权

八月 20th, 2011

现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料。

自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明,

新浪微博API开发前的准备工作

首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址是:http://code.google.com/p/libweibo/downloads/detail?name=weibo-oauth-class-with-image-avatar-06-29.zip
下载完成后放到自己的开发环境中并解压,在其中也包含了demo演示程序,我们可以参考其样例程序进行编写。

新浪微博API开发最重要的用户授权过程

其实在开发过程中很多的问题都是集中在用户授权这个阶段,我开发的第三方应用,使用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍,我们可以到http://open.weibo.com/wiki/Oauth去查看,我这里从实例开发的角度进行介绍和说明。

1.首先获取未授权的Request Token

$o = new WeiboOAuth( WB_AKEY , WB_SKEY  );
$keys = $o->getRequestToken();
//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

我们需要在新浪微博开放平台中注册一个帐号,或直接使用我们的新浪微博帐号登录,进入我的应用,然后按照提示创建属于我们自己的第三方应用,创建完成之后我们可以得到两个授权的App Key和App Secret值,这两个值就是我们开发应用的关键。

得到授权值后,我们就可以利用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。

2.然后请求用户授权Token

 $_SESSION['keys'] = $keys;
$aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

得到未授权的Request Token值后,我们就利用上面的代码可以开始准备去新浪微博授权页面进行授权,$aurl就是授权链接页面,我们得到$aurl后就可以利用header()直接跳转到该授权页面,然后用户输入新浪微博帐号和密码进行授权,授权完成后,自动跳回你在最后一个参数里面设置的回调页面:http://localhost/callback.php,该链接你可以设置为上一个页面,这样授权完成之后就会自动又跳转回去了。

需要注意的是设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需要用到的。很多的朋友可能会参考其开放平台上面的说明来进行授权时,可发现总是出错,一般都是这个问题,你并未设置session的keys值,在下面当然取不到Access Token的值了,这个一定要记住了。

3.最后得到用户授权的Access Token

 $o = new WeiboOAuth( WB_AKEY ,
                     WB_SKEY ,
                     $_SESSION['keys']['oauth_token'] ,
                     $_SESSION['keys']['oauth_token_secret']  );

$last_key = $o->getAccessToken(  $_REQUEST['oauth_verifier'] ) ;
echo($last_key['oauth_token']);

上面的代码就最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,我们也可以看到,后面的两个参数就是前面我们设置的session值。到此就基本完成了,这就是新浪微博用户授权的一个完整的过程。

授权完成后的工作

在授权完成之后,我们就可以开始调用新浪微博提供的各类API函数接口进行实际应用的开发了,在这里我就获取最新微博记录这个接口进行一个简单说明,其他都类似。

获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:

//获取前20条最新更新的公共微博消息
$c = new WeiboClient( WB_AKEY ,
                      WB_SKEY ,
                      $oauth_token ,
                      $oauth_token_secret  );

$msg  = $c->public_timeline();
if ($msg === false || $msg === null){
 echo "Error occured";
 return false;
}
if (isset($msg['error_code']) && isset($msg['error'])){
 echo ('Error_code: '.$msg['error_code'].';  Error: '.$msg['error'] );
 return false;
}
print_r($msg);

通常我们在得到用户授权的Access Token值之后,就把它们保存在我们的用户表中,与我们的应用中的帐号进行对应,之后我们在调用新浪微博各api接口时就不用每次都去认证了。

上面的代码很简单,实例化WeiboClient对象,然后直接调用接口函数public_timeline就可以得到返回的信息,如果没有错误的话。通常新浪微博api接口返回的数据格式一般为Json格式或xml格式,而我们在此是用php进行开发,则使用Json格式的数据就有先天的优势,如果返回Json格式数据的话,直接使用php函数json_decode()就可以转换为php常用的array数组格式了。

 

来源:红心草博客

原文地址:http://www.hongxincao.com/archives/579.html

 

程序学习 , ,

基于nusoap的PHP Webservice的开发实例学习

八月 19th, 2011

以前写过一篇关于PHP Webservice的文章,但很简单,这段时间一直都在做基于nusoap的webservice接口,正好又深入学习了一下,今天就整体上对利用nusoap开发PHP的webservice程序进行一个说明和实例分析。

关于nusoap的介绍就不多说了,如果有不了解到朋友,可以参考一下这篇文章:Webservice工具soapUI下载和使用,在里面对nusoap进行了一个详细的介绍和说明。

利用nusoap我们可以只写很少量的代码,就完成其他语言需要手工构造xml的Webservice的WSDL的说明,这就给我们提供了很大的帮助,同时我们可以利用nusoap来丰富和完善我们写的webservice接口,接下来我就从一个实例入手,开始进行说明。
首先说明几个需要注意到地方:
1.利用nusoap编写的Webservice通常来说都是UTF-8编码的,因此我们在写客户端调用程序时一定要注意,传入的参数和返回的参数都是UTF-8编码的,否则就可能出现返回无内容的情况。
2.nusoap返回的WSDL页面内容一般是西文编码ISO-8859-1,这在我们的WSDL中如果有中文字符的话就会出现乱码的现象,即使你在调用程序和webservice接口中定义了编码为UTF-8也不管用,因为这个需要你对NuSOAP的nusoap.php文件代码中的设置字符编码的位置,如:header(“Content-Type: text/xml; charset=ISO-8859-1\r\n”),将其charset改为UTF-8,可以把文件中所有类似这种设置的位置都改掉,就可以正常显示中文了。

下面的代码,这是一个比较简单的Webservice服务端程序:

header("Content-Type: text/html,charset=utf-8");
include_once "lib/nusoap.php";
$server = new soap_server();
$server->configureWSDL('WebService','urn:wsdl');
$server->soap_defencoding = 'utf-8';
$server->register('search_user_info',
    array('custA' => 'xsd:array'),
    array('return' => 'xsd:string'),
 '','','rpc','encoded',
 '接口函数描述'
);
function search_user_info($custA)
{
 /** 功能代码 **/

 return $string;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

 

主要分为几个部分:实例化soap类,注册Webservice函数,定义实现Webservice函数,实例化没什么可说的,定义实现函数就和我们平时写程序一样,完成要实现的功能即可,关于注册Webservice函数由于其涉及较多,我在这里进行一个简短的说明。

其实nusoap的关键就是在其注册接口函数register里,它根据我们传入register函数中的参数生成WSDL文件并展示出来。
register函数共接收9个参数,其中除第一个接口函数名是必须的,其他8个都是可选的,不过我们最常使用的是前三个参数:接口函数
名,传入参数类型,返回参数类型。参数的写法如上面代码,key值为参数变量名,value为参数的类型,如array或string。
第4个参数为命名空间,第5个为soapaction值,第6个参数为发送类型,默认值为rpc,还有一种是document,但不常用。第7个参数默认为encoded即可,第8个参数为函数说明,就是相当于该接口函数的代码注释,主要是对该函数使用的一个说明。它的关键就是我们在对外开放接口时,直接在webservice服务端直接显示使用说明,无需对每个人都提供一个说明,最后一个通常无需设置。

到此Webservice服务端代码基本完成,现在我们就可以写客户端代码来调用该Webservice接口了,通常由于Webservice函数的特殊性,我们需要学会使用nusoap对webservice函数进行判断错误所在和调试相关错误信息。

下面是一个简单调用的代码:

header("Content-Type: text/html; charset=utf-8");
require_once("lib/nusoap.php");
$weburl = "http://www.domain.com/webservice.php";
$client = new soapclient($weburl);
$err = $client->getError();
if($err)
{
 echo $err."<br>";exit();
}
else
{
/*定义要传递的数组*/ 
$custA['data']['key_val'] =  'IS25R1AGHB';
 $custA['data']['start']  = 0;
 $custA['data']['num']  = 10;
 $result = $client->call('get_cust_info',$custA);
print_r($client-response);
 return $result;
}

这段简单的代码我想大家应该都能看明白,我就简单的说几点:

1.客户端调用时也需要加载nusoap.php文件

2.通过$err = $client->getError()判断webservice实例化是否正确,不正则我们可以通过输出错误信息来判断问题所在。

3.调用接口函数后,通过print_r($client-response)可以输出服务器端产生的输出信息,如果webservice接口中存在代码问题,则会在其中显示出来,我们可以根据其提示对接口函数进行快速修改。

4.最后就是输出接口函数的返回值$result,我们可以根据函数返回值来确定webservice接口函数调用是否成功。

以上就是我对利用nusoap开放webservice应用的一个整体的介绍,通过以上内容我们就可以构造输入自己的webservice接口函数了。

同时附上一些PHP Webservice开发的资源:

Nusoap库下载地址:http://sourceforge.net/projects/nusoap/files/nusoap/0.9.5/nusoap-0.9.5.zip/download

Nusoap文档下载:http://sourceforge.net/projects/nusoap/files/nusoap-docs/0.9.5/nusoap-docs-0.9.5.zip/download,很不错的文档介绍,只不过是全英文的,但它对nusoap进行相当全面的说明和函数介绍。

来源:红心草博客
原文地址:http://www.hongxincao.com/archives/577.html

 

程序学习 , ,

thinkPHP框架学习记录3-数据库操作

八月 13th, 2011

今天还是继续thinkPHP框架的学习,thinkPHP相对刚开始接触框架的我还是有一些难度,只能逐渐开始,因为数据库操作是最重要的,今天先对thinkPHP的部分数据库操作进行整理,同时记录一下,以方便以后的使用和操作。

thinkPHP连接及操作:
$Form = M(“Form”);     //查询数据
$Form = D(“Form”); 
$Form->create();   
$Form->add();  
$list=$Form->save();
$Form->getError();  //返回数据库操作失败内容
$new = $Blog->max(“id”);      //返回查询出的最大id值

thinkPHP数据库查询操作:
$list    =    $Form->select();
$list    =    $Form->limit(5)->order(‘id desc’)->select(); //普通列表查询
$list = $Form->order(‘id desc’)->limit(6)->select(); //按id排序显示前6条记录
$list = $Form->order(‘id desc’)->limit(5)->findAll();
$result = $Form->delete($_POST['id']); //删除指定记录
$list = $Form->field(‘id,title’)->order(‘id desc’)->select();
$list = $Photo->order(‘create_time desc’)->limit(2)->findAll();
$filed = $this->db->getFields($this->getTableName()); //得到对应表的字段

$condition['id']    =    array(‘gt’,0);
$condition['status']    =    1;
$vo    =    $Form->where($condition)->field(‘id,title’)->find();  //带条件查询

$map['id']=array(‘NOT IN’,’1,6,9′);
$map['title']    = array(array(‘like’,'thinkphp%’),array(‘like’,'liu21st%’),’or’);
$list    =    $Form->where($map)->order(‘id desc’)->limit(’0,5′)->select();  //组合条件查询

//查询指定条件记录条数
$map = “Blog.cTime > $begin_time and Blog.cTime < $end_time and Blog.status=1″;
$count = $Blog->where($map)->count();

//动态查询
$Form->getById($_GET['id']);
$vo    =    $Form->getByEmail(‘liu21st@gmail.com’);
$result  =  $User->getByAccount($name);

//关联查询
$user   =  $User->relation(true)->find($id);
 
//修改数据
$User = M(‘User’);
$User->password = md5($password);
$User->id   = $id;
$result = $User->save();

暂时先整理这么多,更多的thinkPHP数据库操作实例将持续不断更新。

程序学习 ,

网站地图(Baidu) | 给我留言 | 关于红心草 | |

Optimized by SEO Ultimate