в одном foreach зови второго foreach! CodeIgniter - PullRequest
0 голосов
/ 06 января 2011

здесь проблема: в 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 } ?>

но как я могу вывести $data['allvotess'] в последнем цикле foreach?Я пытался сделать то же самое, но не получилось.

Затем я попытался поместить результаты в $ data ['myphotos'], но безрезультатно!

Так что яДелать ???

Просто нужен кто-то, чтобы помочь мне с foreachloop insite foreachloop !!!В течение недели я просто не могу, я даже могу заплатить за решение прямо сейчас !!!

Я также писал на форуме Codeingiter, но они говорят, что это просто ссылка

1 Ответ

0 голосов
/ 06 января 2011

Обычно в представлениях я использую более семантический способ написания операторов 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...