如何使用mysql在codeigniter中计算总数
Posted
技术标签:
【中文标题】如何使用mysql在codeigniter中计算总数【英文标题】:how to calculate total in codeigniter using mysql 【发布时间】:2016-05-05 08:23:28 【问题描述】:这是我要计算总数的数据库
$this->db->select('*');
$this->db->select_sum('total_sale');
$query = $this->db->get('one_month_report');
if ($query->num_rows() > 0)
return $query->result();
else
return FALSE;
【问题讨论】:
您好 - 请用更多上下文来扩展您的问题! 我在数据库中的数字是 total_sale 1)12,478。 2)20, 3)10 但它只返回 42 12,478 这里有 478 个值无法计算 听起来您在数据库中的列是 Varchar 类型,而不是整数。 感谢 MackieeE 快速回复它是 varchar 但仍然 【参考方案1】:如果你不想选择总和。制作类似的文档 https://www.codeigniter.com/userguide3/database/query_builder.html
$this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4') AS amount_paid', FALSE);
$query = $this->db->get('mytable');
【讨论】:
【参考方案2】:使用NumberFormatter 类来解析特定于语言环境的数字。
但要使用它,您需要 PHP 版本 >= 5.3 和 intl
扩展版本 >= 1.0
如果有,请从php.ini
中取消注释此行extension=php_intl.dll
(如果有注释)。
并将其用作以下示例:
<?php
$num1 = '12,478.76';
$nf = new NumberFormatter("en_EN", NumberFormatter::DECIMAL);
var_dump($nf->parse($num1));
// output: float(12478.76)
// it will automatically parse int, double,float etc.
?>
【讨论】:
以上是关于如何使用mysql在codeigniter中计算总数的主要内容,如果未能解决你的问题,请参考以下文章
如何使用codeigniter 4框架在mysql数据库中插入多行?
Codeigniter Active Record - 计算找到的总行数(MySQL)