notepad++的主题和插件,textmate

2010年8月31日 admin  84 views 评论已被关闭

因为接触了php,想要学php框架,因为想学框架就想找个合适的,因为想找个合适的就接触了cakephp,因为cakephp又接触了codeigniter,因为codeigniter我就找了视频看,因为看了codeigniter视频,了解到了textmate,喜欢上了textmate,但是textmate是苹果机的,又早些时候遇到了比editplus更让我中意的notepad++,但是看上去没textmate好,就了解到了notepad可以更换主题,可以安装插件,幸福啊。先来个截图:

notepad

太高兴了,主题是自带的Ruby Blue,在菜单设置->语言格式设置内,选择主题,那个文件浏览是个插件,在插件菜单->Plugin Manager->Show Plugin Manager,available内的 Explorer了。现在很多东西都可扩性很高,只要发现了,生活可以更美的。

自己封装了使用pdo操作数据库的几个函数

2010年8月20日 admin  138 views 评论已被关闭

不多说,自己使用的,才开始做php没多久,看上了pdo,不过相同的操作很多就觉得应该封装一下,没考虑太多,自己用当然会比较方便了。

<?php
class chae_db{

 public $conn;

 //public $dbname;

/* function __construct(){
 }*/

 function __destruct(){
 }

 function __set($name,$value){
  $this->$name=$value;
 }

 function __get($name){
  return $this->$name;
 }

 //构造函数
 function chae_db($dbhost,$dbname,$dbuser,$dbpwd){
  try{ 
   $this->conn=new PDO("mysql:host=".$dbhost.";dbname=" . $dbname . "",$dbuser,$dbpwd); 
  }catch(PDOException $e){
   echo $e->message;
  }
 }
 //得到连接
 function getConn(){
  return $this->conn;
 }
 /*
 根据sql语句得到数组

 用法:

 $dbh=new chae_db('localhost','dbname','root','');

 $arr=$dbh->getRecordArrBySql("select * from tblname where id=?",array($id));

 print_r($arr);
 */
 function getRecordArrBySql($sql,$arr){
  $stmt=$this->conn->prepare($sql);
  if(is_array($arr)){
   $stmt->execute($arr);
  }else{
   $stmt->execute();
  }
  for($i=0;$row=$stmt->fetch(PDO::FETCH_ASSOC);$i++){
   $tarr[$i]=$row;
  }
  return $tarr;
 }

 /*
 获得表指定字段的值
 参数:$sql  查询sql语句
   $arr  查询条件数组,没有外部条件时用""代替

   示例:
   $dbh=new chae_db('localhost','dbname','root','');

   $fieldval=$dbh->getFieldValue("select fild from tblname where id=?",array($id));

   echo $fieldval;
 */
 function getFieldValue($sql,$arr){
  $stmt=$this->conn->prepare($sql);
  if(is_array($arr)){
   $stmt->execute($arr);
  }else{
   $stmt->execute();
  }
  return $stmt->fetchColumn(0);

 }

 //执行sql语句,prepare
 function execsql($sql,$arr){
  $stmt=$this->conn->prepare($sql);
  if(is_array($arr)){
   $stmt->execute($arr);
  }else{
   $stmt->execute();
  }

  return $stmt;

 }
}
?>
分类: php, web, 个人日志, 生活 标签: ,

搞定cakephp乱码

2010年8月20日 admin  22 views 评论已被关闭

首先我要说的是notepad++比editplus好用多了,起码不会生成一个.bak,就这点就让我很满意了,然后打开速度快,在这里面处理utf-8乱码问题非常好,比记事本另存为utf-8好用,回到正题。

建库和建表都保存成utf-8格式,配置app/config/core.php  Configure::write(‘App.encoding’, ‘UTF-8′);这个1.3版默认了,只是提下,配置app/config/database.php

‘encoding’=>’utf8′,注意官网原话If you wish to use UTF-8 encoding with mysql/mysqli connections you must use ‘utf8′ without the hyphen,如果你希望mysql/mysqli连接数据库时使用utf-8你必须使用utf8没有中杆。然后model、controller和view用natepad++打开,菜单栏  格式  然后选择 以utf-8 无DOM格式编码,然后把原中文乱码的地方重新输入中文,我这样就可以了。

这个方法比我早些时候无意间发现的zend studio5.5打开去掉代码开头的一个小点好用多了,参看使用smarty出现页面变形的原因

使用smarty出现页面变形的原因

2010年8月12日 admin  162 views 评论已被关闭

开始使用smarty就遇上页面变形了,就三个引入文件,没有多余的输出,在firebug下看,head部分完全走位,在body前有空行存在,怎一个无奈,后来把一个没多大的文件剔除后,在本地正常了,以为万事大吉,其实不然,我上传到测试空间,再次出现该 该死的情况,所以赶紧求助搜索引擎,上次可能搜索关键词不合理,没找到答案,走马观花了,其实是unicode bom造成的,在dw内看<?php 前是没有东西的,不过用zend的工具一看,<?php前多出了一个点,去掉后,传上去就好了。word内好像也有这个情况,空格其实是一个点,没设置是看不到的,都是该死的编码

分类: php, 个人日志, 生活 标签: ,

php smarty使用自定义函数

2010年8月8日 admin  74 views 评论已被关闭

使用了smarty要使前台显示不受局限,有时要用到自定义函数,当然也有其他办法,比如做下载功能时,显示列表或者详细时我们可能需要显示他的大小,当然你也可以事先存入数据库,或者列表时动态处理进循环数组,还可以用自定义函数在模板页上使用,但是到底怎么用呢,可以到网上找到smarty手册,看例子:

$smarty->register_function("date_now", "print_current_date");

function print_current_date ($params) {
 extract($params);
 if(empty($format))
 $format="%b %e, %Y";
 return strftime($format,time());
}

// now you can use this in Smarty to print the current date: {date_now}
// or, {date_now format="%Y/%m/%d"} to format it.

// 现在你可以在模板中这样显示日期:{date_now}
// 或者用{date_now format="%Y/%m/%d"}的格式进行格式化

很好理解吧,看我的,我这边要做一个产品属性,有产品表,属性表,可以关联查询,好吧,我们现在用自定义函数实现
服务器端代码

$smarty->register_function("show_attrvalue","getAttrVal");

function getAttrVal($params){
 extract($params);

 $conn=new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME."",DB_USER,DB_PASSWORD);;
	//产品会很多,productid是动态的,我们可以这样,在模板页面上给productid赋值,试了没成功
	if(empty($productid)){

		global $nid;

		$productid=$nid;
	}
 $stmt=$conn->prepare("select attributevalue from ".DB_FIX."productattribute where productid=? and  attributeid=?");

 $stmt->execute(array($productid,$attributeid));

 return $stmt->fetchColumn();
}

客户端代码

{show_attrvalue productid=47 attributeid=1}
现在掌握了。

分类: php 标签: , ,

Search engine optimization by SEO Design Solutions