Php 在本声明中,我在何处下单?
我无法通过下面的语句确定在何处下单。。。非常感谢您的帮助Php 在本声明中,我在何处下单?,php,mysql,Php,Mysql,我无法通过下面的语句确定在何处下单。。。非常感谢您的帮助 // Load all products $ProdPackQ = "SELECT prod_name AS Name, days_span, CONCAT(LEFT(prodID,2),ID) AS ID, geo_targeting FROM products WHERE status = 'Active' AND vendID = ".$resort['vendID']; if(isset($_GET['dz'])) $Pr
// Load all products
$ProdPackQ = "SELECT prod_name AS Name, days_span, CONCAT(LEFT(prodID,2),ID) AS ID, geo_targeting FROM products WHERE status = 'Active' AND vendID = ".$resort['vendID'];
if(isset($_GET['dz']))
$ProdPackQ .= " AND days_span = ".$_GET['dz'];
/*else
$ProdPackQ .= " AND days_span = 1"; */
$ProdPackQ .= " AND prod_type = ".$thisprodtype;
if(count($packarr) != 0)
{ $ProdPackQ .= " UNION SELECT pack_name AS Name, days_span, CONCAT(LEFT(packID,2),ID), NULL as geo_targeting FROM packages WHERE ID IN(".$mypacks.")";
if(isset($_GET['dz']))
$ProdPackQ .= " AND days_span = ".$_GET['dz'];
/*else
$ProdPackQ .= " AND days_span = 1"; */
$ProdPackQ .= " ORDER BY prod_name, days_span, ID";
}
在查询的最后一部分,规则拇指按顺序排列。所以把它放在if语句块之外。orderby在正确的位置,但在select中需要它,如下所示
// Load all products
$ProdPackQ = "SELECT prod_name AS Name, days_span, CONCAT(LEFT(prodID,2),ID) AS ID,
geo_targeting FROM products WHERE status = 'Active' AND vendID = ".$resort['vendID'];
if(isset($_GET['dz']))
$ProdPackQ .= " AND days_span = ".$_GET['dz'];
/*else
$ProdPackQ .= " AND days_span = 1"; */
$ProdPackQ .= " AND prod_type = ".$thisprodtype;
if(count($packarr) != 0)
{ $ProdPackQ .= " UNION SELECT pack_name AS Name, days_span, CONCAT(LEFT(packID,2),ID) AS ID,
NULL as geo_targeting FROM packages WHERE ID IN(".$mypacks.")";
if(isset($_GET['dz']))
$ProdPackQ .= " AND days_span = ".$_GET['dz'];
/*else
$ProdPackQ .= " AND days_span = 1"; */
$ProdPackQ .= " ORDER BY Name, days_span, ID";
}
你说对了。你觉得它有什么问题吗?但您只能按所选字段订购。我会将其置于
if(count($packarr)!=0)
块之外;Order BY不在SQL中statement@user949509:请使用mysql\u error()
查看mysql错误。我是否应该尝试$ProdPackQ.=“按产品名称排序”?