代码只返回一个日期的数据,而我想要每个日期的数据

时间:2017-07-06 04:51:49

标签: php codeigniter

function practise()
{
    $this->load->database();
     $qry = mysql_query("select * from demmo");
  if (mysql_num_rows($qry) > 0) 
{
     while ($row = mysql_fetch_array($qry))
  {
      $created = $row['created'];
//from here
      $qry = mysql_query("select * from demmo where created = '$created'");

            while ($res = mysql_fetch_array($qry))
            {
                $user_id = $res['id'];
                $name = $res['name'];
                $created2 = $res['created'];
            $users[] = array('user_id' => $user_id, 'name' => $name);             
            }
                $dotts[] = array('created' => $created2);
//till here       
}                       
    return array ($dotts,$users);
}
}

在demmo表中我试图获取数据并根据日期显示数据。问题是代码只从表中选择一个日期来自创建的行并仅显示该数据。但是显示的数据不仅仅是最后一个但是有实际日期的数据。

2 个答案:

答案 0 :(得分:1)

您需要创建array并使用array_push来获得多个结果。现在你的代码只返回while循环的最后一个结果:

例如,要获取所有日期:

$dotts = array(); 
$allusers = array(); 
while ($res = mysql_fetch_array($qry))
    {
        $user_id = $res['id'];
        $name = $res['name'];
        $created2 = $res['created'];
        array_push($dotts, $created2);
        $users[] = array('user_id' => $user_id, 'name' => $name);   
        array_push($allusers, $users);          
    }
// 
return array ($dotts,$allusers);

答案 1 :(得分:1)

您需要创建一个数组并使用array_push函数,然后才会有多个值。

示例:

创建一个空数组

$allUser = array();

然后在这一行之后

$users[] = array('user_id' => $user_id, 'name' => $name);

使用array_push作为

array_push($allUser, $users);
}
return array($dots, $allUser);