SELECT @id:=ho.hotel_id,hl.hotel_email FROM order_info oi JOIN hotel_order ho ON (ho.order_id=oi.order_id) JOIN hotel_list hl ON (hl.hotel_id=@id) WHERE oi.order_id=1
Archive for the '我的观点' Category
以下代码可以实现在一台电脑、一个ip下多个网站并存:
NameVirtualHost *:80
ServerName www.site1.cn
ServerAlias domain.tld *.domain.tld
DocumentRoot D:/www/site1
ServerName www.site2.cn
DocumentRoot D:/www/site2
注意第一行别落下!
http://www.cnblogs.com/MrYang/archive/2011/08/20/2147385.html
http://www.riadev.com/flex-thread-469-1-1.html
随着开发的不断深入,这两天在Yii框架下利用jQuery实现了AJAX。关键点有如下:
//listen to main element with ajaxlink style class name $(document).ready(function(){ //after clicking a prediction intro $('.ajaxlink').click(function(){ //ajax scan all dom element at the begining //and will not scan again even if class name is changed //so need to check the class name for sure if($(this).attr('class')=="ajaxlink"){ targetID=$(this).attr('pid'); $.ajax({ type:"POST", url:'index.php?r=prediction/load', data:"id="+targetID, success:function(data){ $('#detail_'+targetID).html(data); } }) } }); });
核心是初始化文档时侦听带有特定样式名的元素,如果它(们)被点击,则激发js函数进行处理。这里是把id以post的形式发送到index.php?r=prediction/load,并将返回值放到id为#detail_x的元素中。实际开发过程中发现jQuery建立侦听后不能再添加侦听或者消除已建立的侦听,即使改变了样式名也不行。所以上面代码中加了一个对样式名的判断,虽然改变样式名不能消除侦听,但可以通过判断不执行相应操作。
在YII简单角色设定一文中介绍了如何设定user的角色。实际应用中往往还需要为user添加更多的变量。在userIdentity文件中可以这样写
if ($role >= 1) { $auth = Yii::app()->authManager; $auth->createRole('admin'); $auth->assign('admin', $this); $this->setState('level', "admin"); } else { $this->setState('level', "user"); }
之后就可以这样应用level变量了
if(!Yii::app()->user->isGuest) echo(Yii::app()->user->level);
本地调好的webservice,传到服务器上后。直接用浏览器访问wsdl地址,提示“cannot modify header information”。这句话的意思是在用header方法定义网页header之前,已经有字符输出了。
刚开始按照网络上的解决方法,去修改php.ini来允许先输出别的字符后增加header(会影响性能),但并未解决我的问题。后来看到错误提示里提到”字符输出始于config/main.php:1″。难道main.php出问题了?
打开main.php,删除文档注释前的空行,问题解决了!看来先认真分析错误代码是非常重要的。
今天将开发中的YII项目文件上传到服务器测试,结果登录后一片空白。查看一个index页提示PDO错误。解决办法是在php.ini里打开:
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
Local Share Object(LSO)是长期储存数据的简便方法,使用也很简单:
public var memberLSO:SharedObject; private function init():void{ memberLSO= SharedObject.getLocal("trendEyeyMember", "/"); if(memberLSO.data.username != null) { trace("Welcome back, you visited last on " + memberLSO.data.username); } } public function loginToServer(email:String, pw:String):void { webService.login(email,pw); memberLSO.data.username=email; memberLSO.data.password=pw; } private function login_result(event:ResultEvent):void { memberLSO.flush(); }
更详细的介绍请看:http://blog.csdn.net/jinxinxin1314/archive/2009/11/03/4763495.aspx


