两行代码搞定多级关联搜索
CODE:
(@$Ov1^8w0<?php
[6R"jO5p9Orm&n@0/*PHPChina 开源社区门户%Y:A,A}Q2h
Name: Search.class.phpPHPChina 开源社区门户*Y$Cq$Z4E.|
Author: Genghonghao
Ge'] I/Bu0 Revisions: 2006/12/16PHPChina 开源社区门户T q3g"r_;^mK`
功能 : 多条件关联查寻类
8nF'Js*Z+_PM0*/
2x%Q/OYH6K+M4EU0class Search extends Mysql_Class
"A{&R6JxPw T0{
V!t*g:F2Ga/p0 /**PHPChina 开源社区门户8E F?.]n
* $dbname:数据库名
dS(g
K%a6Q {)z0 * $searchfiled:查询的字段名例如:SELECT username,userage,usersex FROM
2D\X%Bw"|8T0 * $termfiled查询的条件的字段,where后面的字段名。例如:如WHERE USERID<>25 AND usersex=1PHPChina 开源社区门户4FXK.`:UYBL
* $termvalue查询条件对应的值和条件符号,例如:=@1@,<>@25@,like '%@com@%'等,最之是条件表达式右侧的东西和$termfiled数组一一对应,PHPChina 开源社区门户Rt2UD-?? v"[b
* 且下标必需为数字,通常情况下符号右边可能是变量,所以变量的前后一定要加上'@'符号
_?)oV4Wb0 *PHPChina 开源社区门户+F[1@9V W(HOgR"P
*/
GXB,|C[9` I0 private $dbname;
$k8o2L;\RZk0 private $searchfiled = array(); PHPChina 开源社区门户$~kID _8z4|6{
private $termfiled = array(); PHPChina 开源社区门户(l9s
n%t;`+v
private $termvalue = array();PHPChina 开源社区门户I0lw9W@,Qc6iS U
PHPChina 开源社区门户x%AcUUV!},o
/**PHPChina 开源社区门户6a(Y
]Y9i(WN
* 设置所有属性的值,参数为两个属性和其值PHPChina 开源社区门户 r0EMID1y
*/
Bx hK)BU0 public function __construct($dbv,$sv,$fiv,$vv)PHPChina 开源社区门户LH-it7G
{PHPChina 开源社区门户Zkj(w`(LZ,]&[)H
$this->SetPm($dbv,$sv,$fiv,$vv);PHPChina 开源社区门户dvkY"pv3wV
}PHPChina 开源社区门户%Xpy4?},NDn
P6Dwo8}j#H7?
R0 /**PHPChina 开源社区门户_Yc ?1ir#t3j;r
* 设置所有属性的值PHPChina 开源社区门户"R2MW}5l%E
*PHPChina 开源社区门户&K`$`/o%RN}pB
*/
yB7sc^:T0 public function SetPm($v1,$v2,$v3,$v4)
@p5e.sU4F.j:Mm
fNX0 {PHPChina 开源社区门户Q/y-H
J!w
Sp
self::__set('dbname',$v1);PHPChina 开源社区门户*GqTw.w;FZ
self::__set('searchfiled',$v2);PHPChina 开源社区门户1EnXl.pvHU,n
self::__set('termfiled',$v3);PHPChina 开源社区门户e.{tyAJ,A4Y
self::__set('termvalue',$v4);PHPChina 开源社区门户(p,]j4MP2NS1U*N [
}PHPChina 开源社区门户&Z)`Q7R#Z%g2c^
// * 设置属性的值的函数PHPChina 开源社区门户@ajZ+H~(C%ms?
public function __set($pmname,$value)
X6}
}%t-bzX+^ A
H0 {PHPChina 开源社区门户 Y[J1q RT$bm
if(isset($value))
0p2EjZ.q0 {