多重條件組合查詢(二)

接一來這部分是實現用戶提交之后的查詢結果,也是程序代碼的主体部份:  
<?  
$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>";  
}  
}  
?>  

时间: 2024-06-16 13:24:00

多重條件組合查詢(二)的相关文章

多重條件組合查詢(二)_php基础

接一來這部分是實現用戶提交之后的查詢結果,也是程序代碼的主体部份:  <?  $linkstr=mysql_connect("localhost","root","sa");  mysql_select_db("cx",$linkstr);  $showstr="查詢條件為:";  $querystring="select no,type,name,qty,price from orders

多重條件組合查詢(一)

平常我們在開發系統時,一定不會缺少查詢弁?然而往往算個條件是無法滿足用戶的要求的,這時我們就應該設置多重條件進行組合,讓用戶查詢時以更加方便地選擇查詢條件,迅速找到他們所滿足的記錄.  現在我們假設開發一個鐘表公司的客戶訂單系統,有客戶訂單編號,類別,名稱,數量,价格等資料,這里就不將資料一一列擊,.訂單表如下:  訂單編號(ID) 類別(TYPE)名稱(NAME)數量(QTY) 价格(PRICE)  001 机芯 机芯1 100 150  001 表殼 表殼1 1000 60  001 表帶

多重條件組合查詢(一)_php基础

平常我們在開發系統時,一定不會缺少查詢弁?然而往往算個條件是無法滿足用戶的要求的,這時我們就應該設置多重條件進行組合,讓用戶查詢時以更加方便地選擇查詢條件,迅速找到他們所滿足的記錄.  現在我們假設開發一個鐘表公司的客戶訂單系統,有客戶訂單編號,類別,名稱,數量,价格等資料,這里就不將資料一一列擊,.訂單表如下:  訂單編號(ID) 類別(TYPE)名稱(NAME)數量(QTY) 价格(PRICE)  001 机芯 机芯1 100 150  001 表殼 表殼1 1000 60  001 表帶

單表多字段查詢問題

问题描述 假如有一個表,可以通過書名,作者,出版社三個字段查詢,如何實現既可以通過其中任一一個字段查詢,又可以兩兩組合查詢,甚至三者一起組合查詢. 解决方案 解决方案二:你可以在代码中先判断三者的值是否为空if书名<>''thensql="select*from表where书名=''";if作者<>''thensql=sql+"and作者=''";if出版社<>''thensql=sql+"and出版社=''"

這樣的查詢如何實現

问题描述 SQL查詢,如何實現查詢的前一條記錄中的某一列的值為下一條查詢記錄某一列的值例如序號,投入量,產出,良率11002020%2201818*100/203181515*100/18...其中投入量,產出都是統計量(在其他表中以一定條件查詢Count得到)請教此查詢該如何實現 解决方案 解决方案二:你的意思是第二条记录中投入量20=第一条记录中的产出,然后第三条记录中投入量18=第二条记录的产出吗?解决方案三:select*fromtable1where产出exist(selectcoun

check-SQL 約束檢查的條件是否可帶參數?

问题描述 SQL 約束檢查的條件是否可帶參數? check constraint中用參數 檢查中的參數是否可以為查詢,或者是帶參數的自定函授? multi_company = (select dbo.ls_f_mng_multi_company2(dbo.grn_master.key_seq)) 參數key_seq 是表grn_master中的欄位,上面設定提示發生錯誤 解决方案 解决方案二: ALTER TABLE grn_master WITH CHECK ADD CONSTRAINT CK

asp.net 復雜sql查詢

问题描述 有3個數據庫DB_A,DB_B,DB_C,分別有相同結構的表A表A有字段:a員工序號,b薪資序號,c加減代號,d金額條件:比較DB_A,DB_B表A金額匯總的大小,然后將金額大的記錄導入到DB_C的表A例如:DB_A:表A:1為加項2,3為減項YG_01011100YG_01031100YG_0102220例如:DB_B:表A:YG_01011500YG_01033200YG_01051300DB_A金額為:180,DB_B金額:600,結果就是將DB_B的三條記錄導入DB_C的表A中

mysql-執行階段錯誤&amp;amp;#39;13&amp;amp;#39; 型態不符合 ----VBA 連接MYSQL多表查詢

问题描述 執行階段錯誤'13' 型態不符合 ----VBA 連接MYSQL多表查詢 ** 請教各位高手: 我在VBA中如下連接mysql單表查詢沒問題,有數據出來. ** .CommandText = Array( _ "select " _ & "proc_hist_0.prod_pn , proc_hist_0.LOT_NO, proc_hist_0.proc_ID, proc_hist_0.IN_TIME, proc_hist_0.IN_QTY, proc_hi

rails資料庫長時間查詢,導致無法接受request?

问题描述 今天在寫報表產生功能的時候發現 報表產生中的這段時間rails server無法繼續接受request我開了另一個瀏覽器 卻無法request到網頁一定要等到報表產生完後 才可以進入網頁!即使關掉瀏覽器也一樣得等資料庫比對查詢完才行自己推斷可能是下面這個原因..之前資料庫資料較少 我沒有遇過這個問題由於 rails處理client的request是單線程的處理完才能接受下一個request當資料庫需大筆比對查詢大料資料的時候 (假設要花十分鐘!)rails的server無法接受另一個r