可爱熊个人博客

Category : 技术杂文

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:

打印当前页面

window.print()
可以在input中使用,可以打印当前页,不过效果不是很好。

我还要接着调整

Tags:

php中empty() isset() is_null()函数比较

empty (PHP 3, PHP 4, PHP 5)

 empty — 检查一个变量是否为空描述 bool empty ( mixed var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0″、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。 除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。

 empty() 与 isset() 的一个简单比较。 <?php $var = 0; // 结果为 true,因为 $var 为空 if (empty($var)) { echo ‘$var is either 0 or not set at all’; } // 结果为 false,因为 $var 已设置 if (!isset($var)) { echo ‘$var is not set at all’; } ?> 注: 由于这是一个语言结构而非函数,因此它无法被变量函数调用。

 注: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。

换句话说,后边的语句将不会起作用: empty(addslashes($name))。 isset (PHP 3, PHP 4, PHP 5) isset — 检测变量是否设置描述 bool isset ( mixed var [, mixed var [, …]] ) 如果 var 存在则返回 TRUE,否则返回 FALSE。

 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。

 警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。

 is_null (PHP 4 >= 4.0.4, PHP 5) is_null — 检测变量是否为 NULL 描述 bool is_null ( mixed var ) 如果 var 是 null 则返回 TRUE,否则返回 FALSE。 查看 NULL 类型获知变量什么时候被认为是 NULL,而什么时候不是。

order by和group by的用法和区别

在SQL1999标准中这些内容都是可用的。
order by和group by的用法2007-01-19 17:00一、order by 是按表中某字段排列表中数据。
1、单字段排序
例如:select * from tablaName order by id desc;(注desc为降序,asc或是不写是升序)
2、多字段排序,先按字段1排序,如果字段1相同,则按字段2排序,依次类推。
例如:select * from tableName order by 字段1 desc,字段2 asc;
3、order by 中还可以用算法。
例如:在论坛帖子中,我要按点击数和回复数的10倍的和排序列出所有帖子。
select * from tableName order by (点击数+回复数*10)desc;

二、group by是按某些字段分类。
1、单个字段分类
例如:按部门把部门的名字和人数取出来。
select dept count(*) as num  from tablaName group by dept ;
2、多个字段分类
例如:按部门分类之后在按年龄分组。
select dept,age count(*) as num from tableName group by dept,age;
本文转自[水平网]:http://www.goalercn.com/article/article.php?id=992