【问题标题】:I want to get count invoice_id where invoice_date = $today我想计算 invoice_id 其中 invoice_date = $today
【发布时间】:2017-11-14 14:26:39
【问题描述】:

我想得到 count invoice_Id 的那些输入今天,我尝试查询但我什么也没得到

这是我的sql查询,我试了很多次却一无所获

select count(invoice_id) 
from tbl_invoice 
LEFT JOIN tbl_order 
   using(order_id) 
WHERE tbl_invoice.invoice_date = '2017-10-18'

这是我在 php 中使用此查询的控制器

$this->global_model->_table_name = 'tbl_invoice';
$this->global_model->_order_by = 'invoice_id';
$today_order = $this->global_model->get_by(array("invoice_date"=>'$todaydate'), false);
//var_dump($todaydate,$today_order);die();
$_SESSION["today_order"] = $today_order;

这是我的视图文件

<?php 
    $today_order = $_SESSION["today_order"];
    $today_order_count = count($today_order);
?>

<!------today order total count------->

<li class="dropdown messages-menu">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
        <i class="fa fa-credit-card"></i>
        <span class="label label-danger"><?php if(!empty($today_order_count)){
                echo $today_order_count;
            }else{
                echo '0';
            }
            ?></span>
    </a>
</li>

【问题讨论】:

  • 你为什么要加入tbl_order 表?据我所知,这不是必需的。
  • got nothing 是什么意思??没有数据,有什么错误吗?查询可以直接在数据库上运行吗?
  • @JuanCarlosOropeza 得到一个空数组{0}
  • select count(invoice_id) from tbl_invoice where tbl_invoice.invoice_date = '2017-10-18' 不一样吗?
  • @PeterAbolins 我只尝试 tbl_invoice 但我空了

标签: php sql codeigniter codeigniter-3


【解决方案1】:

您需要考虑到日期可能存储在MySql 中作为datetime。而且,它包含时间和日期。

尝试更改您的查询以涵盖一整天:

WHERE tbl_invoice.invoice_date >= '2017-10-18'
     AND tbl_invoice.invoice_date < '2017-10-19'

本质上,日期将存储为“2017-10-18 00:00:00”或其他时间戳。

【讨论】:

  • 请问我如何在 php 中使用这个查询
  • 因为如果我使用这个查询,我如何在 php 中增加日期?
猜你喜欢
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 1970-01-01
  • 1970-01-01
  • 2022-08-16
相关资源
最近更新 更多