如何将 MYSQL COUNT() 语句的结果返回到 HTML 表中的单独列*
MYSQL - PHP
$sql= mysql_query("select count(*), shop_order_action from shop_orders o
WHERE shop_order_action IN ('Sale', 'Transfer', 'Delivery', 'Return')
AND shop_order_day = '28' AND shop_order_month = '08' AND shop_order_year = '2014'
AND shop_order_location = 'Bawtry'
GROUP BY FIELD (shop_order_action, 'Sale', 'Transfer', 'Delivery', 'Return')");
while ($row=mysql_fetch_row($sql)) {
echo "<pre>";
print_r($row);
echo "</pre>";
}
PRINT_R 结果
Array
(
[0] => 8
[1] => Sale
)
Array
(
[0] => 2
[1] => Transfer
)
Array
(
[0] => 1
[1] => Return
)
表格
Shop Action Count
<小时/>
SALE <? echo $row[0] ?>
TRANSFER <? echo $row[0] ?>
DELIVERY <? echo $row[0] ?>
RETURN <? echo $row[0] ?>
所以我需要在表中的相应列中返回正确的行值,即销售、转让...等。
我可以使用 while 循环迭代结果,但是,我无法弄清楚如何构造循环,以便它在 while 循环内按顺序打印出每一行,而不必转到循环的顶部环形。
也许我应该使用 while 循环和 continue
条件,以便每次回显 $row[0] 时都会返回下一行。
最佳答案
我想出了一个可能不是最佳的解决方案,但它按要求执行:
解决方案
$sql= mysql_query("select count(*), shop_order_action from shop_orders o
WHERE shop_order_action IN ('Sale', 'Transfer', 'Delivery', 'Return')
AND shop_order_day = '".$d."' AND shop_order_month = '".$m."' AND shop_order_year = '".$y."'
AND shop_order_location = 'Bawtry'
GROUP BY FIELD (shop_order_action, 'Sale', 'Transfer', 'Delivery', 'Return')");
while ($result=mysql_fetch_row($sql)) {
if ($result[1] == 'Sale') { $sale = $result[0]; }
if ($result[1] == 'Transfer') { $transfer = $result[0]; }
if ($result[1] == 'Delivery') { $delivery = $result[0]; }
if ($result[1] == 'Return') { $return = $result[0]; }
}
if (isset($sale)) { echo $sale; }
echo '<br />';
if (isset($transfer)) { echo $transfer; }
echo '<br />';
etc ...
while 循环中的代码将每个操作值存储为可以在循环外部调用的变量。
关于php - 如何将 MYSQL COUNT(*) 语句的结果返回到 HTML 表中的单独列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507885/