?php class Dselect { var $table_name; var $sql; var $sql_find_ziduan="id"; var $attribute_id; //============================== // 通过select_show函数传递过来的数据来构建查询语句 function creat_sql() { if(isset($_POST['select_table_name'])) { $sql="select ".$this->sql_find_ziduan." from ".$_POST['select_table_name']." where " ;//两个通配符 $sql_add=""; for($i=1;$i<=9;$i++) { if(isset($_POST['select_list'.$i])) { switch ($_POST['select_type'.$i]) { case 1://模糊 if($_POST['select'.$i]!="" ) { $word=explode(" ",$_POST['select'.$i]); $m=0; while(isset($word[$m])) { $word[$m]=trim($word[$m]); if(!empty($word[$m])) $sql_add=$sql_add." and ".$_POST['select_list'.$i]." like '%".$word[$m]."%'"; $m++; } } break; case 2://菜单 if($_POST['select'.$i]!="" and $_POST['select'.$i]!=0) { $sql_add=" and ".$_POST['select_list'.$i]." =".$_POST['select'.$i]; } break; case 3://时间框(双框) if($_POST['time_start'.$i]!="" and $_POST['time_end'.$i]!="") { $sql_add=' and '.$_POST['select_list'.$i].' between "'.$_POST['time_start'.$i].'" and "'.$_POST['time_end'.$i].'"'; } elseif($_POST['time_start'.$i]!="" ) $sql_add=" and ".$_POST['select_list'.$i]." >= '".$_POST['time_start'.$i]."' "; elseif($_POST['time_end'.$i]!="" ) $sql_add=" and ".$_POST['select_list'.$i]." <= '".$_POST['time_end'.$i]."' "; break; case 4://时间框(单框) $sql_add=" and ".$_POST['select_list'.$i]." = '".$_POST['time_start'.$i]."'"; break; case 5://时间框(已定义时间间隔) $sql_add=" and ".$_POST['select_list'.$i]." = '".$_POST['time_start'.$i]."'"; break; } $sql=$sql.$sql_add; $sql_add=""; } } $aa=explode("where",$sql); if(strlen($aa[1])<=3)//判断where后跟的字符小于3个则认为SQL语句不完整需要构建不带where的sql语句 $sql=$aa[0]; else//去除where后跟随的and字符 { $aa[1]=substr_replace($aa[1],"",1,4); $sql=$aa[0]." where ".$aa[1]." order by id desc"; } $this->sql=$sql; //echo '
'.$sql; } // $this->add_tree_select($this->sql,$_POST['select_table_name']); } //============================================================= //在SQL语句中增加目录树传递过来的信息 function add_tree_select($sql,$table_name) { if(isset($_GET['tree_id'])) { if($sql=="") { $sql="select * from ".$table_name." where "."mulu".$_GET['level']."=".$_GET['tree_id'] ;// } else { $aa=array(); $aa=explode("where",$sql); if(isset($aa[1])) $sql=$aa[0]." where "."mulu".$_GET['level']."=".$_GET['tree_id']." and ".$aa[1]; else $sql=$aa[0]." where "."mulu".$_GET['level']."=".$_GET['tree_id']; } } $this->sql=$sql; } //============================ //选择框显示 function select_show($id) { echo '2222'; $sql="select * from table_select_attribute where id=".$id ; $csql=query($sql) ;//设定$lnk $rs=mysqli_fetch_array($csql); if($_SESSION["post_id"]>=9000 )//是否有表头显示********************************* { echo '['.$id.']'; } echo '
'; for($i=1;$i<=9;$i++) { $select_type="select_type".$i; $select_list="select_list".$i; $select_type_a='select_type_a'.$i; $select_explain='select_explain'.$i; if(!empty($rs[$select_list])) { switch ($rs[$select_type]) { case 1://文本框用于模糊查询 echo $rs[$select_explain]; if(isset($_POST["select".$i])) echo ''; else echo ''; break; case 2://菜单栏 echo $rs[$select_explain]; if(isset($_POST["select".$i])) Aselect($rs[$select_type_a],"select".$i,$_POST["select".$i]); else Aselect($rs[$select_type_a],"select".$i,0); break; case 3://时间框(双框) echo $rs[$select_explain]; echo '从11'; if(isset($_POST["time_start".$i])) { // time_select("time_start".$i,$_POST["time_start".$i]); time_select10("time_start".$i,$_POST["time_start".$i]); } else time_select("time_start".$i,""); echo '到'; if(isset($_POST["time_end".$i])) time_select("time_end".$i,$_POST["time_end".$i]); else time_select("time_end".$i,date("Y-m-j")); break; case 4://时间框(单框) echo $rs[$select_explain]; if(isset($_POST["time_start".$i])) time_select("time_start".$i,$_POST["time_start".$i]); else time_select("time_start".$i,""); break; case 5://隐藏框 echo $rs[$select_explain]; echo ''; break; } echo ''; echo ''; echo ''; } } echo '';//次隐藏域用来提交一个post数据用来判断是否post提交过数据 echo ''; echo ''; echo '
'; } //============================ // function insert_select_attribute($attribute_id) { if(isset($_POST['attr_table_name']) and $attribute_id==0)//来自添加的提交 { $Dchange1 = new Dchange(); $Dchange1->add_one_form($_POST['attr_table_name']); echo '' ; } if(isset($_POST['attr_table_name']) and $attribute_id!=0)//来自修改的提交 { $Dchange1 = new Dchange(); $Dchange1->change_one($_POST['attr_table_name'],$attribute_id); echo '' ; } if(!isset($_POST['Dtable_name_in']) and $attribute_id==0)//添加时,第一步选择数据表 { echo '
' ; echo '添加"记录组",请先选择数据表'; select_Dtable("Dtable_name_in",""); echo ''; } else { if($attribute_id==0) { echo '' ; echo ''; echo ''; echo ''; echo ''; echo ' '; for($i=1;$i<=9;$i++) { $name1="select_list".$i; $name2="select_explain".$i; $name3="select_type".$i; $name4="select_type_a".$i; echo ''; } echo ''; echo ''; echo '
需要查询的数据表名称'.$_POST['Dtable_name_in'].'
"查询组"名称
需要查询的字段'.$i.' '; select_list($name1,$_POST['Dtable_name_in'],""); echo ' 注释名称'; echo ' '; echo ' '.Aselect(4,$name3,0) ;//select_option("formselect",$name5); echo '菜单对应id'; echo select_option("formselect",$name4,0); echo '
 
'; echo '
'; } else { $sql="select * from table_select_attribute where id=".$attribute_id;//查询显示的表格属性值 $csqa=query($sql) ;//设定$lnk $rsa=mysqli_fetch_array($csqa) or die("没有此id下的属性记录"); echo '
' ; echo ''; echo ''; echo ''; echo ''; echo ' '; for($i=1;$i<=9;$i++) { $name1="select_list".$i; $name2="select_explain".$i; $name3="select_type".$i; $name4="select_type_a".$i; echo ''; } echo ''; echo ''; echo '
表名'.$rsa['select_table_name'].'
"查询组"名称
需要查询的字段'.$i.' '; select_list($name1,$rsa["select_table_name"],$rsa[$name1]); echo ' 解释'; echo ' '; echo ' '.Aselect(4,$name3,$rsa[$name3]) ;//select_option("formselect",$name5); echo '菜单对应id'; echo select_option("formselect",$name4,$rsa[$name4]); echo '
 
'; echo '
'; } } } //============================================================================================= } ?>