0
<?php

global $wpdb;
$result = $wpdb->get_results( "SELECT rate FROM schedule_reg");
foreach ($result as $row) {
$result = 0;
$result = $result + $row->rate;
echo "TOTAL AMOUNT : RM" .$result;
}

?>

我想计算我的数据库中的所有总金额,但它不起作用。任何人都可以帮助我...

4

1 回答 1

1

您遇到的问题:就像@catcon 所描述的那样,您$result在循环中使用它,因此每次它都会重置为0每个循环。所以你必须把它移出循环: 初始

<?php

global $wpdb;
$rows = $wpdb->get_results( "SELECT rate FROM schedule_reg");//change to rows
foreach ($rows as $row) {
   $result = 0;
   $result = $result + $row->rate;
   echo "TOTAL AMOUNT : RM" .$result;
}

?>

<?php

global $wpdb;
$rows = $wpdb->get_results( "SELECT rate FROM schedule_reg");//change to rows
$result = 0;
foreach ($rows as $row) {
   $result = $result + $row->rate;
}
echo "TOTAL AMOUNT : RM" .$result;
?>

或这个:

    <?php
    
    global $wpdb;
    $rows = $wpdb->get_results( "SELECT rate FROM schedule_reg");//change to rows
    $result = 0;
    foreach ($rows as $row) {
       $result += $row->rate;
    }
    echo "TOTAL AMOUNT : RM" .$result;
    ?>

我提出了解决这个问题的另一种方法,所以你可以使用DB稍微不同的 SQL 查询来为你计算这个: SELECT SUM(rate) FROM schedule_reg像这样:

    <?php
    
    global $wpdb;
    $result = $wpdb->get_results( "SELECT SUM(rate) FROM schedule_reg"); // here you get total amount
    echo "TOTAL AMOUNT : RM" . $result[0]->result_value;
    ?>

这应该可以帮助你。

于 2020-11-10T04:01:02.347 回答