【问题标题】:in one foreach call second foreach! codeigniter在一次 foreach 中调用第二次 foreach!代码点火器
【发布时间】:2011-01-06 15:43:07
【问题描述】:

问题在于: 在控制器的 codeigniter 中,我有下一个代码:

$query_not_voted = "SELECT * FROM photos WHERE p_id NOT IN (SELECT distinct p_id FROM p_votes where u_id = ".$this->session->userdata('u_id').") LIMIT ".$this->db->escape_str($segment_url).", ".$config['per_page'];
$q = $this->db->query($query_not_voted);
$data['myphotos'] = $q->result_array();

foreach($data['myphotos'] as $key=>$val)
{
    $query_g = "SELECT * FROM users WHERE u_id = (SELECT u_id FROM p_votes WHERE p_id = ".$val['p_id'].")";
    $q_2 = $this->db->query($query_g);
    $data['allvotess'] = $q_2->result_array();

    $query_u = "SELECT * FROM users WHERE u_id = ".$val['u_id']." LIMIT 0, 5";
    $q_1 = $this->db->query($query_u);
    $data['author'] = $q_1->result_array();
}

所以现在我有了$data['myphotos'],这可以用下一个代码在视图中输出:

<?php foreach ($myphotos as $keys => $myphoto){ ?>
    <div id="voteblock">
    <div id="voteleft">
        <a href="<?php echo base_url().$myphoto['p_small']; ?>" class="preview" title="<?php echo base_url().$myphoto['p_title']; ?>"><img src="<?php echo base_url().$myphoto['p_thumb']; ?>" /></a>
    </div>
<?php } ?>

但是如何在最后一个 foreach 循环中输出$data['allvotess']? 我也尝试过,但没有成功。

然后我尝试将结果推入 $data['myphotos'] 并没有好的结果!

那我在做什么???

只需要有人帮我处理foreachloop insite foreachloop!!! 一个星期我都做不到,我什至可以立即支付解决方案!!!

我也在 codeingiter 论坛上发帖,但他们说很简单,link

【问题讨论】:

    标签: codeigniter loops foreach


    【解决方案1】:

    通常在视图中我使用更语义化的方式来编写 foreach 和 if 语句,并且我还将说明一个分层的 foreach 循环...

    $array1 = array(1,2,3,4);
    $array2 = array(1,2,3,4);
    $array3 = array(1,2,3,4);
    
    $second_array[] = $array1;
    $second_array[] = $array2;
    $second_array[] = $array3;
    

    所以现在我们有了 $second_array,它是一个多维数组...

    $data->second_array = $second_array;
    $this->load->view('your/view',$data);
    

    在视图文件中...

    <? foreach($second_array as $array): ?>  //<--start first foreach loop
        <div>do some stuff</div>
        <? foreach($array as $array_item): ?>  //<--start second foreach loop, inside the first
            <div>do some other stuff for every item in $array</div>
        <? endforeach; ?>  //<--end first foreach
    <? endforeach; ?>  //<--end second foreach
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-08
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多