可爱熊个人博客

Category : 技术杂文

smarty调用php的函数

相信很多人都不是很很了解smarty的一个重要功能,就是能在smarty模板里面调用php的内置函数.

模板书写:
{‘param1’|functionName:’param2′:’param3’}

php函数原型:
echo functionName(‘param1′,’param2′,’param3’);

实例:
{‘1234567’|substr:’1′:’2’}
下面这个比较怪 和函数的参数顺序有关系
{‘a’|str_replace:’A’:’abcd’}

Tags: ,

substr(),mb_substr()及mb_strcut的区别和用法

substr()函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。

举个例子:
<?php
echo mb_substr(‘这样一来我的字符串就不会有乱码^_^’, 0, 7, ‘utf-8’);
?>
输出:这样一来我的字
<?php
echo mb_strcut(‘这样一来我的字符串就不会有乱码^_^’, 0, 7, ‘utf-8’);
?>

Read More…

Tags: , ,

mysql 各种级联查询后更新(update select)

mysql  各种级联查询后更新(update select).

CREATE TABLE `tb1` (
  `id` int(11) NOT NULL,
  `A` varchar(100) default NULL,
  `B` varchar(100) default NULL,
  `C` varchar(20) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `tb2` (
  `id` int(11) NOT NULL,
  `A` varchar(100) default NULL,
  `B` varchar(100) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; Read More…

Tags:

Update + select

已下語法會因為Mysql 版本出現問題
UPDATE `phpads_banners` SET `compiledlimitation` = (
SELECT `compiledlimitation`
FROM (SELECT * FROM `phpads_banners`) AS b
WHERE `bannerid` = 33 )
WHERE `bannerid` = 34

#1093 – You can’t specify target table ‘phpads_banners’ for update in FROM clause

若出現 #1093 – You can’t specify target table ‘phpads_banners’ for update in FROM clause 可改成

update phpads_banners as a
   inner join (
      select * from phpads_banners
      where bannerid = 33
   ) as b on a.bannerid=34 and b.bannerid = 33
set a.compiledlimitation = b.compiledlimitation;

Tags: ,

PHP中的post与get

$_GET

$_GET 变量用于收集来自 method=”get” 的表单中的值。$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

$_GET 变量用于收集来自 method=”get” 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。

为什么使用 $_GET? Read More…

Tags:

mysql批量更新数据

以下使用于mysql 

update tepoi,pinf set tepoi.x=pinf.fx,tepoi.y=pinf.fy
 where tepoi.pid=pinf.dmgis_id and tepoi.pid>10000;

 假设有表a,b

其结构

a(id,email,name)   b(id,email)

update   a inner join   b on a.id=b.id set a.email=’aa@com’,b.email=’bb.com’

update tableA inner join tableB on tableA.FieldA=tableB.FieldB

set

tableA.字段=值,

tableB.字段=值

多表更新
在 MySQL 3.23 中,你可以使用 LIMIT # 来确保只有给定的记录行数目被更改。 Read More…

Tags:

Smarty简明教程

 一. 安装

  首先打开网页http://www.smarty.net/download.php,下载最新版本的Smarty。解压下载的文件(目录结构还蛮复杂的)。接下来演示给大家一个安装实例,看过应该会举一反三的。

  (1) 在根目录下建立了新的目录learn/,再在learn/里建立一个目录smarty/。将刚才解压缩出来的目录的libs/拷贝到smarty/里,再在smarty/里新建templates目录,templates里新建cache/,templates/,templates_c/, config/.

  (2) 新建一个模板文件:index.tpl,将此文件放在learn/smarty/templates/templates目录下,代码如下: Read More…

Tags:

smarty内建函数全集

内建函数
内建函数不能擅自修改。
capture
capture函数的作用是收集模板输出的数据到一个变量里,而不是把它们输出到页面.例如任何在 {capture name=”foo”}和{/capture}之间的数据都被收到了由函数的名称属性指定的变量{$foo}里,或者{$smarty.capture.foo}里。如果函数没有名字属性,将使用”default”.每个{capture}都必须对应{/capture},也不能嵌套使用capture函数。

config_load
引用配置文件
file是必须的,说明要包含进来的配置文件名称,section说明要加载的部分的名称,scope被处理的变量的作用域.必须是local,parent或者global.
local的意思是变量将在本模板里被加载.
parent的意思是变量将在本模板和上级模板被加载.
global的意思是变量将应用到所有的模板.默认为local。变量是否在上级模板可视,默认为no。如果scope属性已经有了,这个值将被忽略.
Read More…

Tags:

smarty插件的使用

考虑到多数人的实际情况,这里我附带将smarty生成静态页的方法也介绍一下.

(一)、基本知识:

    首先来介绍一下相关的知识:
    1. 什么是smarty?
     smarty是一个使用PHP写出来的模板PHP模板引擎, 是php.net推荐的一个模板系统.
    2. 什么是smarty的插件?
    smarty的插件是指smarty中的plugins, 是一些嵌入模板内的一些功能性控制语句, smarty中的Variable Modifiers(变量调节)实际就是一些内置的插件.
    3. 插件是怎么工作的?
    在smarty模板中使用了插件调用语句时动态的载入, 你可以将你写好的插件放入smarty解压目录中的lib目录下的plugins, 这样在模板中使用这些插件时它将会被自动载入. Read More…

Tags: ,

php取整数的方法

  • PHP取整数函数常用的四种方法,下面收集了四个函数;
  • 经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval
  • ceil — 进一法取整
    说明
    float ceil ( float value )
    返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
  • 例子 1. ceil() 例子
  • <?php
    echo ceil(4.3);     // 5
    echo ceil(9.999);     // 10
    ?>

Read More…

Tags: