当前位置:   iis7站长之家
本页文章导读:
    ▪JS命名空间、对象封装      欢迎访问个人空间:www.zjxwow.com   Chrome、FireFox 17+ Only网上有很多关于JS模拟面向对象的课程,如果不能理解下述方法,请自行谷歌!以下是我总结的一套模拟面向对象套路,已用于生产。/.........
    ▪JQuery真的不难~第六回 JQ中的异步调用方式      回到目录前言今天主要讲一下JQ中的异步编程,它将ajax进行封装,在进行异步请求时显得非常容易,无论是GET,POST方式,还是text,xml,javascript,json等数据通讯都是那么的自然现在,我们就走入jq.........
    ▪zend framework操作mysql数据库      <?php set_include_path('D:\apache\htdocs\zend\\');//zend 路径 require_once 'zend/db.php'; //数据库参数配置 $params = array( 'host'=>'127.0.0.1', 'username'=>'root', 'password'=>'root', 'dbname'=>'test1' ); $.........

[1]JS命名空间、对象封装
    来源:    发布时间: 2013-11-06

欢迎访问个人空间:www.zjxwow.com   Chrome、FireFox 17+ Only

网上有很多关于JS模拟面向对象的课程,如果不能理解下述方法,请自行谷歌!

以下是我总结的一套模拟面向对象套路,已用于生产。

/*
@author:zjx
@version:1.0
*/
var lib = lib || {}; // 命名空间
lib.wgt = lib.wgt || {}; // 命名空间

接下来,演示一个类是如何模拟的:

(function (window, undefined) {
// 自定义的私有对象
var Dater = function (){}
// 外部可调用的对象
lib.wgt.Calendar = function(opts){
return new Calendar(opts); // 调用时省略 new 关键字
}
var Calendar = function(){
this.today = this.opts.today || new Date(); // 属性
}
// 公共实例方法
Calendar.prototype = {
// 方法:初始化一个日历表
initPicker: function () {
// 调用私有实例方法
initEvent.call(this);
// 调用私有静态方法
getMonthList();
}
};
// 私有方法
function initEvent(){
console.log(this.today); // 私有方法中调用变量成员
}
// 私有静态方法
function getMonthList(selected){}
// 公共静态方法
lib.wgt.Calendar.static = function(){}
})(window);

私有方法的模拟:在该自执行匿名方法中,声明独立的方法以供调用,不利用闭包,内部变量是完全无法被外界获取的。

匿名函数带上window参数的意义在于内部变量如果用到window对象不需要回退到整个文档,定义undefined是因为在一些浏览器中可以被替换。如此定义undefined在Eclipse中貌似会被报错,不过这不打紧。

要调用该类:

var calendar = lib.wgt.Calendar({ // 初始化
// 各种参数
});
calendar.initPicker(); // 实例方法调用
lib.wgt.Calendar.static(); // 静态方法调用

没有使用new关键字是因为已经在类的构造函数中使用过。

本文链接


    
[2]JQuery真的不难~第六回 JQ中的异步调用方式
    来源:    发布时间: 2013-11-06

回到目录

前言

今天主要讲一下JQ中的异步编程,它将ajax进行封装,在进行异步请求时显得非常容易,无论是GET,POST方式,还是text,xml,javascript,json等数据通讯都是那么的自然

现在,我们就走入jq的ajax的殿堂吧。

 GET请求获取数据
$.ajax({
tyep:"GET"
url: "test.html",
context: document.body,
success: function(data){
$("list").html(data)
}
});
 
POST请求操作数据
 
$.ajax({
type:'POST',
url: 'ajax/test.ashx',
success: function(data) {
if(data.res){
alert('操作成功‘);

}
});

注意:AJAX可以跨域发GET请求,来读取数据,但不可以发POST请求,这是正常的,要不就太危险了,呵呵。

$.ajax({
type:'GET'
dataType:'jsonp'
url: 'http://www.sina.com/ajax/test.html',
success: function(data) {
$('.result').html(data);

}
});

对于JQ为AJAX的封装,还有几个简洁的写法,等下次再写,写个续集!

感谢阅读!

回到目录

 

本文链接


    
[3]zend framework操作mysql数据库
    来源: 互联网  发布时间: 2013-11-06
<?php
set_include_path('D:\apache\htdocs\zend\\');//zend 路径

require_once 'zend/db.php';
//数据库参数配置
$params = array(
'host'=>'127.0.0.1',
'username'=>'root',
'password'=>'root',
'dbname'=>'test1'
);
$db = Zend_Db::factory('pdo_mysql',$params);
//if($db){
// echo 'ok';
//}

//=========================================================================================================
$tbl = 'tbl1';
$select = $db->select();
$select->from('tbl1','*');
$where = $db->quoteInto("age<(?)",30);
$select->where($where);
$select->where($db->quoteInto('age in (?)',array('23','25')));
$rows = $db->fetchAll($select);
foreach ($rows as $key=>$val){
echo 'name:'.$rows[$key][name].'&nbsp;&nbsp;&nbsp;age:'.$rows[$key][age];
echo '<br />';
}
$value = $db->quote('my name is "tom"');
echo $value;
$value = $db->quote(array('a','b','c'));
require 'zend/debug.php';
zend_debug::dump($rows,'zend_dubut::dump : <br />',1);
//echo $where;
$sql = $db->query('select * from tbl1 where age>(?)','30');
$rows = $sql->fetchall();
zend_debug::dump($rows);

//使用占位符

$sql = $db->query('select * from tbl1 where age>:zw and age<:zw2 ',array('zw'=>23,'zw2'=>40));
$rows = $sql->fetchall();
zend_debug::dump($rows);

//pdostatement 方法

$stm = $db->prepare('select * from tbl1 where age>:zw');
$stm->bindvalue('zw','23');
$stm->execute();
$rows = $stm->fetchall();
zend_debug::dump($rows);

echo "<hr />";
//事务处理
$db->beginTransaction();// 尝试数据库操作.// 假如成功,commit该操作;// 假如,

try {
$db->query("select * from tbl1 where age>234");
$db->commit();
}
catch (Exception $e) {
$db->rollBack();
echo $e->getMessage();
}

//插入数据
$rand = rand(59,100);
$rows = array('name'=>'liming','age'=>$rand);
$tblname = 'tbl1';
$db->insert($tblname,$rows);
$lastinsertid = $db->lastInsertId();
if ($db)
echo $lastinsertid;
echo "<hr />";

//更新数据
$tblname ='tbl1';
$set = array('age'=>222);
$where = $db->quoteInto('name=?','liming');
$db->update($tblname,$set,$where);

//删除数据
$where = $db->quoteInto('name=?','liming');
$db->delete($tblname,$where);

//几种不同取得结果方法
$sql = $db->quoteInto('select * from tbl1 where age>?',23);
$rows = $db->fetchAll($sql);
zend_debug::dump($rows,'fecthall方法(取回所有结果集以连续数组显示):',1);//取回所有结果集以连续数组显示
$rows = $db->fetchAssoc($sql);
zend_debug::dump($rows,'fetchassoc方法(取回所有结果集以关联数组显示):',1);
$rows = $db->fetchCol($sql);//取回所有0
zend_debug::dump($rows,'fetchcol方法(取回所有结果行的第一个字段值):',1);
$rows = $db->fetchOne($sql);
zend_debug::dump($rows,'fetchone方法(只取回第一个字段值):',1);
$rows = $db->fetchRow($sql);
zend_debug::dump($rows,'fetchrow方法(取回结果集第一行)',1);
$rows = $db->fetchPairs($sql);
zend_debug::dump($rows,'fetchpairs方法(取回一对结果集 第一个一)');

//================================================================================================================
//select_db方法

$select = $db->select();
$tblname = 'tbl1';
$select->from($tblname,'*')
->where('age>?',20)
//       ->where('name=?','csad')
->order('age desc')
->limit(10,0);
$rows = $db->fetchAll($select);
//也可以试用——tostring方法
$sql = $select->__tostring($select);
echo $sql;
$rows = $db->fetchAll($sql);
zend_debug::dump($rows,'select_db方法(__tostring()):',1);


//fetchall读取结果使用绑定的参数

$select = $db->select();
$select->from($tblname,'*')
       ->where('age>:zw')
       ->order('age asc');
$params = array('zw'=>'20');
$rows = $db->fetchAll($select,$params);
zend_debug::dump($rows,'select_db方法(参数绑定):',1);

//查询多列数据(不同字段,可加别名)

$select = $db->select();
$select->from('tbl1 as t',array('t.name as n','t.age as a'));
echo $select;
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'查询不同字段下数据<br />',1);


//查询多列数据(不同字段,可加别名)
$select = $db->select();
$select->from('tbl1',array("name","age"))
       ->where('age=?','25')
       ->orwhere("age in (?)",array('34','25'))//or
       ->order('age desc')
       ->limit(0,2);
echo $select;
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'查询不同字段下数据<br />',1);

//多表联合查询
$select = $db->select();
$select->from('tbl1','*')
       ->where('tbl1.age>=?','23')
       ->join('tbl2','tbl1.age=tbl2.age','*');
       echo $select;
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'多表联合查询(JOIN):<br />'.$select.'<br />',1);

//group 分组查询
$select = $db->select();
$select->from('tbl1','*,count(id)')
       ->group('name')
       ->having("age>=25");
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'<br />group分组查询:'.$select,1);

//order by 排序
$select = $db->select();
$select->from('tbl1','*')
        ->order('id asc,age');
//       ->order(array('age desc','id'));
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'order by 排序查询(首先按ID降序后按age升序):',1);

//偏移量查询
$select = $db->select();
$select ->from ('tbl1','*')
        ->limit(10,20);//10为每页数据量 20为从第几条开始查
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'limit偏移量查询:'.$select,1);

//按页数查询
$select = $db->select();
$select->from('tbl1')
       ->limitpage(2,10);//
$rows = $db->fetchAll($select);
zend_debug::dump($rows,'limitpage按页数查询:'.$select,1);
?>
作者:i1369230032 发表于2013-1-18 10:27:59 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
▪纯CSS实现鼠标放上去改变文字内容
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3