当前位置: 首页 > 图文教程 > 网络编程 > PHP > 多重條件組合查詢(二)

PHP
轻松实现用PHP编写PDF文档生成器(一)
轻松实现用PHP编写PDF文档生成器(二)
php下载文件,PHP下载文件源码
一行PHP代码检测字符中中文汉字个数
用PHP开发多任务应用程序
怎样用PHP实现网站防盗链
PHP.MVC之模板标签系统(一)
PHP.MVC之模板标签系统(二)
PHP.MVC之模板标签系统(三)
PHP.MVC之模板标签系统(五)
PHP.MVC之模板标签系统(四)
linux/unix下使用php来做守护进程
PHP多文件上传类,实现php多文件上传
PHP编实现程动态图像的创建
利用PHP伪造http头(referer)
常见的25个顶级PHP模板引擎
PHP生成带有雪花背景的验证码
PHP日常开发中常用的一些小技巧
PHP + MySQL 分表减低数据库压力
PHP的语言层面的优化和代码优化

PHP 中的 多重條件組合查詢(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 135 ::
收藏到网摘: n/a

接一來這部分是實現用戶提交之后的查詢結果,也是程序代碼的主体部份:
<?
$linkstr=mysql_connect("localhost","root","sa");
mysql_select_db("cx",$linkstr);
$showstr="查詢條件為:";
$querystring="select no,type,name,qty,price from orders";
switch($select1)
{
case 1:
if (!empty($no))
{
switch($select2)
{
case 1:
$querystring.=" where no=".$no;
$showstr.="訂單為".$no."所有數据";
break;
case 2:
switch($price)
{
case 1:
$querystring.=" where no=".$no." or price<50";
$showstr.="訂單為".$no."或者价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." or price between 50 and 200";
$showstr.="訂單為".$no."或者价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no." or price>200";
$showstr.="訂單為".$no."或者价格大于200元間的所有數据";
break;
}
break;
case 3:
switch($price)
{
case 1:
$querystring.=" where no=".$no." and price<50";
$showstr.="訂單為".$no."并且价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." and price between 50 and 200";
$showstr.="訂單為".$no."并且价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no." and price>200";
$showstr.="訂單為".$no."并且价格大于200元間的所有數据";
break;
}
break;
}
}
else
{
if (!empty($type))
{
switch($select2)
{
case 1:
$querystring.=" where type="".$type."" ";
$showstr.=" 類型為".$type."所有數据";
break;
case 2:
switch($price)
{
case 1:
$querystring.=" where type="".$type."" or price<50";
$showstr.="類型為".$type."或者价格少于50元的所有數据";
break;
case 2:
$querystring.=" where type="".$type."" or price between 50 and 200";
$showstr.="類型為".$type."或者价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where type="".$type."" or price>200";
$showstr.="類型為".$type."或者价格大于200元間的所有數据";
break;
}
break;
case 3:
switch($price)
{
case 1:
$querystring.=" where type="".$type."" and price<50";
$showstr.="類型為".$type."并且价格少于50元的所有數据";
break;
case 2:
$querystring.=" where type="".$type."" and price between 50 and 200";
$showstr.="類型為".$type."并且价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where type="".$type."" and price>200";
$showstr.="類型為".$type."并且价格大于200元間的所有數据";
break;
}
break;
}
}
else
{
switch($price)
{
case 1:
$querystring.=" where price<50";
$showstr.="价格少于50元的所有數据";
break;
case 2:
$querystring.=" where price between 50 and 200";
$showstr.="价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where price>200";
$showstr.="价格大于200元間的所有數据";
break;
}
}
}
break;
case 2:
switch($select2)
{
case 1:
$querystring.=" where no=".$no." or type="".$type.""";
$showstr.="訂單為".$no."或者類別為".$type."所有數据";
break;
case 2:
switch($price)
{
case 1:
$querystring.=" where no=".$no." or type="".$type."" or price<50 ";
$showstr.="訂單為".$no."或者類別為".$type."或者价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." or type="".$type."" or price between 50 and 200";
$showstr.="訂單為".$no."或者類別為".$type."或者价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no."or type="".$type."" or price>200";
$showstr.="訂單為".$no."或者類別為".$type."或者价格大于200元間的所有數据";
break;
}
break;
case 3:
switch($price)
{
case 1:
$querystring.=" where no=".$no." or type="".$type."" and price<50 ";
$showstr.="訂單為".$no."或者類別為".$type."并且价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." or type="".$type."" and price between 50 and 200";
$showstr.="訂單為".$no."或者類別為".$type."并且价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no."or type="".$type."" and price>200";
$showstr.="訂單為".$no."或者類別為".$type."并且价格大于200元間的所有數据";
break;
}
break;
}
break;
case 3:
switch($select2)
{
case 1:
$querystring.=" where no=".$no." and type="".$type.""";
$showstr.="訂單為".$no."并且類別為".$type."所有數据";
break;
case 2:
switch($price)
{
case 1:
$querystring.=" where no=".$no." and type="".$type."" or price<50 ";
$showstr.="訂單為".$no."并且類別為".$type."或者价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." and type="".$type."" or price between 50 and 200";
$showstr.="訂單為".$no."并且類別為".$type."或者价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no."and type="".$type."" or price>200";
$showstr.="訂單為".$no."并且類別為".$type."或者价格大于200元間的所有數据";
break;
}
break;
case 3:
switch($price)
{
case 1:
$querystring.=" where no=".$no." and type="".$type."" and price<50 ";
$showstr.="訂單為".$no."并且類別為".$type."并且价格少于50元的所有數据";
break;
case 2:
$querystring.=" where no=".$no." and type="".$type."" and price between 50 and 200";
$showstr.="訂單為".$no."并且類別為".$type."并且价格介于50到200元間的所有數据";
break;
case 3:
$querystring.=" where no=".$no."and type="".$type."" and price>200";
$showstr.="訂單為".$no."并且類別為".$type."并且价格大于200元間的所有數据";
break;
}
break;
}
break;
}
$result=mysql_query($querystring,$linkstr);
echo "<p>$showstr:<p>
";
if (@mysql_num_rows($result)>0)
{
while (list($no,$type,$name,$qty,$price)=mysql_fetch_row($result))
{
echo "<table align="center">";
echo "<tr>";
echo "<td>訂單編號</td>";
echo "<td>$no</td>";
echo "</tr>";
echo "<tr>";
echo "<td>類別</td>";
echo "<td>$type</td>";
echo "</tr>";
echo "<tr>";
echo "<td>配件</td>";
echo "<td>$name</td>";
echo "</tr>";
echo "<tr>";
echo "<td>數量</td>";
echo "<td>$qty</td>";
echo "</tr>";
echo "<tr>";
echo "<td>价格</td>";
echo "<td>$price</td>";
echo "</tr>";
echo "</table>";
}
}
?>