uchome 常用函数示例

一。inserttable

//添加数据
//前3个参数 $tablename插入的表名称 $insertsqlarr数据数组 $returnid是否返回插入ID
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0) {
global $_SGLOBAL; $insertkeysql = $insertvaluesql = $comma = '';
foreach ($insertsqlarr as $insert_key => $insert_value) {
$insertkeysql .= $comma.'`'.$insert_key.'`';
$insertvaluesql .= $comma.'\''.$insert_value.'\'';
$comma = ', ';
}
$method = $replace?'REPLACE':'INSERT';
$_SGLOBAL['db']->query($method.' INTO '.tname($tablename).' ('.$insertkeysql.') VALUES ('.$insertvaluesql.')', $silent?'SILENT':'');
if($returnid && !$replace) {
return $_SGLOBAL['db']->insert_id();
}
}

插入和更新数据的方式也非常简单,不用你自己拼接sql,以插入数据为例:

function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false)

我们插入员工信息,则可以这样写:

inserttable('staffs',array('name'=>'hankshuang','post'=>'de','age'=>25))

二。cache_write

提供缓存的写入和更新,最重要的方法就是cache_write方法,看看声明:

function cache_write($name, $var, $values)

如果我想把员工数据缓存起来,那么对于$staff = array('name'=>'hankshuang','age'=>25)就调用方法

    cache_write('staffcache','staff',$staff)

下次想用这个内容的话,直接include data目录下的这个data_staffcache.php文件,就得到$staff这个对象了,原理简单,用起来却很方便.

三。realname_set

//获取用户名
function realname_set($uid, $username, $name = '', $namestatus = 0)
{
    global $_SGLOBAL, $_SN, $_SCONFIG;    
    if ($name) {
        $_SN[$uid] = ($_SCONFIG['realname'] && $namestatus) ? $name : $username;

} elseif (empty($_SN[$uid])) {
        $_SN[$uid] = $username;
        $_SGLOBAL['select_realname'][$uid] = $uid; //需要检索
    }
}

顾名思义,第一个参数是uid,也就是用户的uid,第二个参数是用户名,

第三个参数是指如果$_SCONFIG['realname'] 打开了,而且传进来了昵称,我们将强制更新$_SN【uid】。

如果,没有传递第三个,就先判定$_SN【$UID】有没有,没有的话,才更新,有的话,就不更新,

登录do_login.php示例:

realname_set($space['uid'], $space['username'], $space['name'], $space['namestatus']);

上一篇:C#读取shapefile文件(不用AE)


下一篇:PHP设计模式系列 - 委托模式