Php 从数组结果循环查询

Php 从数组结果循环查询,php,codeigniter,loops,select,Php,Codeigniter,Loops,Select,我在模型中进行了查询,从表1中选择包含以下数据的数据: Column NOPE 数据1 数据2 数据3 然后我想从表1的结果中选择所有数据,但只得到第一行: 否|总计 1号| 20人 如何循环所有行以在我的视图中选择和显示所有行?所以我从select中获取所有行,如下所示: 没有总数 不超过120人 不超过30人 没有3个25人 40人 这是我的模型: function test() { $query = $this->db->query("select nope from tb

我在模型中进行了查询,从表1中选择包含以下数据的数据:

Column NOPE
数据1
数据2
数据3

然后我想从表1的结果中选择所有数据,但只得到第一行:

否|总计
1号| 20人

如何循环所有行以在我的视图中选择和显示所有行?所以我从select中获取所有行,如下所示: 没有总数
不超过120人
不超过30人
没有3个25人
40人

这是我的模型:

function test()
{
$query = $this->db->query("select nope from tb1");

if ($query->num_rows() > 0)
{
foreach ($query->result_array() as $row)
    {

        $nopen=$row['nope'];
        $query2=$this->dbmssql->query("
                                        select nope, 
                                        count(name) as total 
                                        from trans 
                                        where nope ='$nopen' 
                                        and date='2016-04-20'
                                        group by nope ");
        return $query2->result_array();

    }

}       

}
我的看法是:

                    <tbody> 
                <?php 
                $no=0;
                foreach ($res as $row) { $no++?>                    
                <tr>
                    <td><?php echo $no;?></td>
                    <td><?php echo $row['nope'] ;?></td>
                    <td><?php echo $row['total'];?> PAX</td>
                </tr>       
                <?php 
                } ?>    
                </tbody>

圣像牌

请帮助我,非常感谢。

您只得到第一行,因为您的foreach循环只执行一次,因为循环在return语句处退出。您需要将结果数组分配给一个变量,并在循环后返回该变量

下面是修改后的代码,用于对$query中的每个记录执行foreach循环

function test()
{
   $query = $this->db->query("select nope from tb1");

   if ($query->num_rows() > 0)
   {
      foreach ($query->result_array() as $row)
      {

        $nopen=$row['nope'];
        $query2=$this->dbmssql->query("
                                    select nope, 
                                    count(name) as total 
                                    from trans 
                                    where nope ='$nopen' 
                                    and date='2016-04-20'
                                    group by nope ");
          $all_records[]=$query2->result_array();

       }
       return $all_records;
  }       

}

您只获得第一行,因为foreach循环只执行一次,因为循环在return语句处退出。您需要将结果数组分配给一个变量,并在循环后返回该变量

下面是修改后的代码,用于对$query中的每个记录执行foreach循环

function test()
{
   $query = $this->db->query("select nope from tb1");

   if ($query->num_rows() > 0)
   {
      foreach ($query->result_array() as $row)
      {

        $nopen=$row['nope'];
        $query2=$this->dbmssql->query("
                                    select nope, 
                                    count(name) as total 
                                    from trans 
                                    where nope ='$nopen' 
                                    and date='2016-04-20'
                                    group by nope ");
          $all_records[]=$query2->result_array();

       }
       return $all_records;
  }       

}

谢谢你,萨林先生

最后,我遵循您的代码,并使用以下内容更改我的视图:

                    <?php 
                $no=0;

                foreach ($res as $row) 
                { 
                $no++;
                ?>                  
                <tr>
                    <td><?php echo $no;?></td>
                    <td><?php echo $row[0]['nope'] ;?></td>
                    <td><?php echo $row[0]['total'];?> PAX</td>
                </tr>       
                <?php

                } ?>

圣像牌

现在我得到了所有记录的结果,…你是我的英雄…

数百万感谢你,Salain先生

最后,我遵循您的代码,并使用以下内容更改我的视图:

                    <?php 
                $no=0;

                foreach ($res as $row) 
                { 
                $no++;
                ?>                  
                <tr>
                    <td><?php echo $no;?></td>
                    <td><?php echo $row[0]['nope'] ;?></td>
                    <td><?php echo $row[0]['total'];?> PAX</td>
                </tr>       
                <?php

                } ?>

圣像牌

现在我得到了结果所有记录,…你是我的英雄…

你的查询有问题吗,或者你无法从测试中返回数据()你的查询有问题吗,或者你无法从测试中返回数据()非常感谢,你能给我举个例子吗?谢谢salain,我已更改代码,但出现错误:
遇到PHP错误严重性:注意消息:未定义索引:nopen Filename:test/index.PHP行号:87
我的视图代码有问题吗??也许我也需要改变?你必须在那一行给出更多关于代码的细节!!由于您在注释中指定的错误,这意味着您正在使用“nopen”作为数组的索引键。非常感谢Salain,我正在更改我的代码,按照您的代码进行更改,并在视图中更改为调用数组[],现在我得到了结果。。。你是我的英雄..非常感谢,你能给我一个这样做的例子吗?谢谢salain,我已经更改了代码,但出现了错误:
遇到了一个PHP错误严重性:注意消息:未定义索引:nopen Filename:test/index.PHP行号:87
我的视图代码有问题吗??也许我也需要改变?你必须在那一行给出更多关于代码的细节!!由于您在注释中指定的错误,这意味着您正在使用“nopen”作为数组的索引键。非常感谢Salain,我正在更改我的代码,按照您的代码进行更改,并在视图中更改为调用数组[],现在我得到了结果。。。你是我的英雄。。