Php 从codeigniter中的会话获取登录用户ID

Php 从codeigniter中的会话获取登录用户ID,php,mysql,codeigniter-3,Php,Mysql,Codeigniter 3,我希望在用户仪表板上自动显示这些结果,当用户登录到其仪表板时,我希望运行此查询并向他们显示其用户id的统计信息。请建议如何执行此操作。如何登录userid,下面是统计数据的工作代码 <?php $query = $this->db->query("SELECT tblclients.userid as client_id, tblclients.company as company_name, IFNULL

我希望在用户仪表板上自动显示这些结果,当用户登录到其仪表板时,我希望运行此查询并向他们显示其用户id的统计信息。请建议如何执行此操作。如何登录userid,下面是统计数据的工作代码

<?php 
$query = $this->db->query("SELECT 
          tblclients.userid as client_id, 
          tblclients.company as company_name, 
            IFNULL(tblinvoices.total, 0) AS total_amount, 
              IFNULL(tblinvoicepaymentrecords.amount, 0) AS paid_amount, 
                ( IFNULL(tblinvoices.total, 0) - IFNULL(tblinvoicepaymentrecords.amount, 0)) AS amount_due 
            FROM 
            tblclients 
            LEFT JOIN tblinvoices ON tblclients.userid = tblinvoices.clientid 
            LEFT JOIN tblinvoicepaymentrecords ON tblinvoices.id = tblinvoicepaymentrecords.invoiceid
            WHERE tblclients.userid = 1");

foreach ($query->result_array() as $row)

{
      echo $row['total_amount'] . " " . $row['paid_amount'] . " " .$row['amount_due']; 
      echo "<br />";
      }
?>

首先,我建议您使用检查控制器中的所有会话数据

但请确保在名为“client\u user\u id”的会话中有可用的密钥

一旦您从会话中获得了
$userId
,您就可以像这样将它连接到查询中


任何人,请帮助。如何登录用户ID?您必须已将其存储在codeigniter会话中@Root Ingenious:谢谢你在这里,伙计,是的,我已经存储了,但是正如你看到的上面的代码一样,一个是你给出的完整的sqlquery,我将如何在select语句中应用用户id,现在它是手动用户id=1。。或者我必须从数据库中获取所有用户id,并且结果中,必须使用会话进行过滤。嘿,亲爱的普尼特,我检查了会话数据,正如你上面提到的,以及我发布的有问题的结果(更新)。@GauravSingh,我已经更新了答案。。尝试
$userId=$this->session->userdata('client\u user\u id'),您将获得已登录的客户端。
echo '<pre>'; print_r($this->session->all_userdata());exit;
Array
(
    [__ci_last_regenerate] => 1504507372
    [client_user_id] => 1
    [contact_user_id] => 1
    [client_logged_in] => 1
    [red_url] => https://www.trisuka.com/crm/admin
)
echo '<pre>'; print_r($this->session->all_userdata());exit;
$userId = $this->session->userdata('client_user_id');
$query = $this->db->query("SELECT 
          tblclients.userid as client_id, 
          tblclients.company as company_name, 
            IFNULL(tblinvoices.total, 0) AS total_amount, 
              IFNULL(tblinvoicepaymentrecords.amount, 0) AS paid_amount, 
                ( IFNULL(tblinvoices.total, 0) - IFNULL(tblinvoicepaymentrecords.amount, 0)) AS amount_due 
            FROM 
            tblclients 
            LEFT JOIN tblinvoices ON tblclients.userid = tblinvoices.clientid 
            LEFT JOIN tblinvoicepaymentrecords ON tblinvoices.id = tblinvoicepaymentrecords.invoiceid
            WHERE tblclients.userid = '".$userId."' ");