第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 php 中使用 foreach 求和值

在 php 中使用 foreach 求和值

PHP
慕哥9229398 2023-04-28 14:38:49
我正在制作一個(gè)電子商務(wù)網(wǎng)站。我必須在哪里顯示購(gòu)物車中所有產(chǎn)品的總量。但是當(dāng)我嘗試獲取所有產(chǎn)品的總量時(shí),它只顯示最后一個(gè)產(chǎn)品的價(jià)格這是代碼$result = $query->fetchAll(PDO::FETCH_ASSOC);$total = 0; if($result > 0){       foreach($result as $row){         $price = $row['price'];        $total += intval($price);    }因?yàn)閮r(jià)格在數(shù)據(jù)庫(kù)中是 varchar,所以我使用 intval() 方法轉(zhuǎn)換為 int 并 echo $total <td class="pro-subtotal"><span><?php echo $total; ?></span></td>但它顯示列表中最后一行的數(shù)量
查看完整描述

2 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

您不需要此代碼。首先你不需要if($result > 0)。你的變量$result是一個(gè)數(shù)組,而不是一個(gè)數(shù)字,所以你不能將它與一個(gè)數(shù)字進(jìn)行比較。intval如果您在算術(shù)上下文中使用結(jié)果,則意義不大。將一個(gè)變量分配給另一個(gè)變量而不對(duì)它做任何有用的事情是沒(méi)有意義的,所以$price = $row['price'];也要?jiǎng)h除。


然后剩下的是一個(gè)帶有算術(shù)加法的簡(jiǎn)單循環(huán)。


$result = $query->fetchAll(PDO::FETCH_ASSOC);

$total = 0; 

foreach($result as $row){

    $total += $row['price'];

}

這不是最明智的想法,因?yàn)榇祟惒僮鲬?yīng)該在 SQL 而不是 PHP 中完成。有什么理由必須用 PHP 來(lái)做嗎?如果不是,則簡(jiǎn)單地聚合 SQL 中的值。


SELECT SUM(price) AS total FROM salesOrders WHERE saleId = ?

然后在 PDO 中只獲取一個(gè)列。


$total = $query->fetchColumn();


查看完整回答
反對(duì) 回復(fù) 2023-04-28
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

我認(rèn)為

if($result > 0){ ... }

應(yīng)該

if(count($result) > 0){ ... }


查看完整回答
反對(duì) 回復(fù) 2023-04-28
  • 2 回答
  • 0 關(guān)注
  • 177 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)