|
<?php /* Name: Search.class.php Author: Genghonghao Revisions: 2006/12/16 功能 : 多条件关联查寻类 */ class Search extends Mysql_Class { /** * $dbname:数据库名 * $searchfiled:查询的字段名例如:SELECT username,userage,usersex FROM * $termfiled查询的条件的字段,where后面的字段名。例如:如WHERE USERID<>25 AND usersex=1 * $termvalue查询条件对应的值和条件符号,例如:=@1@,<>@25@,like '%@com@%'等,最之是条件表达式右侧的东西和$termfiled数组一一对应, * 且下标必需为数字,通常情况下符号右边可能是变量,所以变量的前后一定要加上'@'符号 * */ private $dbname; private $searchfiled = array(); private $termfiled = array(); private $termvalue = array();
/** * 设置所有属性的值,参数为两个属性和其值 */ public function __construct($dbv,$sv,$fiv,$vv) { $this->SetPm($dbv,$sv,$fiv,$vv); } /** * 设置所有属性的值 * */ public function SetPm($v1,$v2,$v3,$v4) { self::__set('dbname',$v1); self::__set('searchfiled',$v2); self::__set('termfiled',$v3); self::__set('termvalue',$v4); } // * 设置属性的值的函数 public function __set($pmname,$value) { if(isset($value)) { $this->$pmname = $value; } else { return null; } } /** * 参数$id是WHERE 后边跟的第一个字段名用来进行第一次判定 * 参数$value是字段$id的默认值 * 参数$emblem是条件判定的符号,例如>,<,<>等 * 参数$last是SQL语句最部分,可以为空 * */ public function GetSearch($id,$emblem="<>",$emblemvalue=0,$last="ORDER BY subtime DESC") { $termfiled = $this->termfiled; $termvalue = $this->termvalue; $filenum = count($this->termvalue); if(count($this->termfiled) != count($this->termvalue)) { return null; } else { $filed = ""; foreach($this->searchfiled as $value) { $filed .= $value.","; } $fnum = strlen($filed);
|
| 共2页: 上一页 1 [2] 下一页 |
评论加载中…