⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search_result.php

📁 php开发实例完全剖析
💻 PHP
字号:
<?php
// 包含头文件和数据库连接文件
require ('dbconnect.php');

?>
<?
// 得到参数
$field1=$_POST['field1'];
$field2=$_POST['field2'];
$select1=$_POST['select1'];
$select2=$_POST['select2'];
$select3=$_POST['select3'];

// 去除后面的空格
$field1=trim($field1);
$field2=trim($field2);

// 如果查询条件只是一些空格,退出
if ($field1=="" && $field2==""){
	echo "查询条件为空,<a href='search.php'>请输入查询条件!</a>";
	exit();
}
// 定义一个函数执行查询语句,得到查询id
function Get_search_id(){
        $args=func_get_args();
        $queryfield=$args[0];
        $queryvalue=$args[1];
        $conn=$args[2];
        $id_search=array();  //store the searched id
        $sqlsearch="select id from member where ".$queryfield." like '%".$queryvalue."%'";
        //print $sqlsearch;
        $re_search=mysql_query($sqlsearch,$conn);
        while ($row_search=mysql_fetch_row($re_search)){
                array_push($id_search,$row_search[0]);
        }
        return $id_search;
}
// 定义函数执行条件查询
function Query_by_BasicInfo(){
        $args=func_get_args();
        $Item1=$args[0];
        $Value1=$args[1];
        $conn=$args[2];
        $idB1=array();  // define an array to store the found locus id
        if ($Item1=="用户名"){
                $idB1=Get_search_id("id",$Value1,$conn);
        }
        elseif ($Item1=="真实姓名"){
                $idB1=Get_search_id("name",$Value1,$conn);
        }
        elseif ($Item1=="Email"){
                $idB1=Get_search_id("Email",$Value1,$conn);
        }
        elseif ($Item1=="Oicq"){
                $idB1=Get_search_id("oicq",$Value1,$conn);
        }
        elseif ($Item1=="主页"){
                $idB1=Get_search_id("homepage",$Value1,$conn);
        }
        elseif ($Item1=="城市"){
                $idB1=Get_search_id("city",$Value1,$conn);
        }
        elseif ($Item1=="地址"){
                $idB1=Get_search_id("address",$Value1,$conn);
        }
        elseif ($Item1=="邮编"){
                $idB1=Get_search_id("zip",$Value1,$conn);
        }
        elseif ($Item1=="电话"){
                $idB1=Get_search_id("tel",$Value1,$conn);
        }
        elseif ($Item1=="教育程度"){
                $idB1=Get_search_id("edu",$Value1,$conn);
        }
		elseif ($Item1=="自我介绍"){
                $idB1=Get_search_id("introduction",$Value1,$conn);
        }
		elseif ($Item1=="兴趣爱好"){
                $idB1=Get_search_id("interest",$Value1,$conn);
        }
        elseif ($Item1=="所有条件"){
                $idB1_1=Get_search_id("id",$Value1,$conn);
                $idB1_2=Get_search_id("name",$Value1,$conn);
                $idB1_3=Get_search_id("Email",$Value1,$conn);
                $idB1_4=Get_search_id("oicq",$Value1,$conn);
                $idB1_5=Get_search_id("homepage",$Value1,$conn);
                $idB1_6=Get_search_id("city",$Value1,$conn);
                $idB1_7=Get_search_id("address",$Value1,$conn);
                $idB1_8=Get_search_id("zip",$Value1,$conn);
                $idB1_9=Get_search_id("tel",$Value1,$conn);
                $idB1_10=Get_search_id("edu",$Value1,$conn);
				$idB1_11=Get_search_id("introduction",$Value1,$conn);
				$idB1_12=Get_search_id("interest",$Value1,$conn);
                $idB1=array_merge($idB1_1,$idB1_2,$idB1_3,$idB1_4,$idB1_5,$idB1_6,$idB1_7,$idB1_8,$idB1_9,$idB1_10,$idB1_11,$idB1_12);
                // sort the array before do array_unique
                asort($idB1);
                $idB1=array_unique($idB1);
        }
        return $idB1;
}
function Find_0_records(){
		include("head.php");
        echo "<table border=0 cellpadding='0' width='800' align=center>";
        echo "<tr ><td align=center><font color=red size=4><B>";
        echo "找到0条符合条件的记录!";
        echo "</B></font></td></tr></table>";        
        exit();
}
// 定义数组保存id
$RESULTid=array();
// 如果有field1查询条件
if ($field1!=""){
	$idB1=array();  //存储查询结果id
    $idB1=Query_by_BasicInfo($select1,$field1,$conn);
	// 设置变量表示已经开始了查询
	 $QUERIED=1;
	 $RESULTid=$idB1;	 
}
// 如果有field2查询条件
if ( $field2!=""){
	$idB2=array();  //存储查询结果id
    $idB2=Query_by_BasicInfo($select2,$field2,$conn);
	if($select3=="和"){
		if (count($idB2)==0){
            Find_0_records();
        }
		// 上一查询条件为空
        if ($QUERIED==0){
			$RESULTid=$idB2;
        }
		// 上一查询条件为非空
        else{
			// 取交
			$arr=array_intersect($RESULTid,$idB2);
            $RESULTid=$arr;
        }		
	}
	if($select3=="或"){		
		// 上一查询条件为空
        if ($QUERIED==0){
			$RESULTid=$idB2;
        }
		// 上一查询条件为非空
        else{
			// 取和
			$arr=array_merge($RESULTid,$idB2);
            asort($arr);
            $RESULTid=array_unique($arr);
        }		
	}
	if($select3=="否"){		
		// 得到所有id
		$idAll=array();
		$allre=mysql_query("select id from member",$conn);		
		while($All=mysql_fetch_array($allre)){
			array_push($idAll,$All[0]);
		}
		// 上一查询条件为空
        if ($QUERIED==0){
			// 取反
			$RESULTid=array_diff($idAll,$idB2);
        }
		// 上一查询条件为非空
        else{
			$arr=array_diff($RESULTid,$idB2);
	        $RESULTid=$arr;
        }		
	}
}

// 显示查询结果
// 0条结果
if (count($RESULTid)==0){
   Find_0_records();
}
// 非0条结果
sort($RESULTid);
include("head.php");
echo "<table align=center>";
echo "<tr><td>找到".count($RESULTid)."条记录,其用户名是:</td></tr>";
for($i=0;$i < count($RESULTid);$i++){	
	echo "<tr><td><a href='userinfo.php?id=$RESULTid[$i]'>$RESULTid[$i]</a></td></tr>";
}
echo "</table>";
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -