我正在尝试在 php 中使用数字格式变量在 mysql 中函数时按大小写排序。我对 mysql 编码非常陌生,该变量在我拥有的另一组 php 代码中工作。有人可以帮我弄清楚为什么变量无法正确排序。
<?php $price = number_format ($info['Price']/9,2);
$order = mysqli_query($con, "
SELECT DivisionOf, Manufacturer, Collection, Style, Price, ShowPrice, Include, Fiber, Width, Backing
...
GROUP BY ProductID
ORDER BY
CASE WHEN ((Price <= '0.00') OR (Price >= '50.00') OR (ShowPrice!='Yes'))
THEN Style ELSE 0 END asc,
CASE WHEN (Price > '0.00') AND (Price < '50.00') AND (ShowPrice='Yes')
THEN $price ELSE 0 END asc,
CASE WHEN (Price > '0.00') AND (Price < '50.00') AND (ShowPrice='Yes')
THEN Style ELSE Manufacturer END asc,
CASE WHEN (Price > '0.00') AND (Price < '50.00') AND (ShowPrice='Yes')
THEN Manufacturer END asc;
");
// Gather data from database
mysqli_data_seek($order, 0);
while($info = mysqli_fetch_array( $order ))
include($_SERVER['DOCUMENT_ROOT'].$info['Include']);?>
我没有使用变量,而是将代码中的变量更改为格式,它就起作用了。
即CASE WHEN (Price > '0.00') AND (Price < '50.00') AND (ShowPrice='Yes')
THEN $price ELSE 0 END asc,
自
CASE WHEN (Price > '0.00') AND (Price < '50.00') AND (ShowPrice='Yes')
THEN FORMAT (Price/9,2) ELSE 0 END asc,