2007-02-03

两行代码搞定多级关联搜索

来源: 本站收集整理 作者:佚名 评论 0 条
 
<?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] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:真正的程序员天生爱数学  
下一篇:打造超酷的PHP数据饼图
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号