Массив правильно напечатан в контроллере, но не напечатан на странице просмотра

1

print_r($listb) корректно работает в контроллере. но когда мы передаем этот массив для просмотра страницы, он не работает на странице просмотра. Страница контроллера и просмотра и функция модели приведены ниже:

контроллер

 public function index() {
                $this->load->helper('url');
                $this->load->view('user/templates/header');
                $data['banner'] = $this->banner_model->viewbanner();
                $this->load->view('user/templates/sidebar', $data);
                $data1['list1'] = $this->featured_model->viewfeaturedlist(1);
                $listb = array();
                foreach ($data1['list1'] as $list1) {
                    $list = explode(',', $list1->fet_list);
                    $type = $list1->fet_type;

                    foreach ($list as $pid) {
                        if ($type == 1) {

                            $listb['hhh'] = $this->featured_model->viewb2bproduct($pid);
                            //print_r($listb);
                        }
                    }
                }

                $this->load->view('user/templates/featured', $listb);


                exit;
                $this->load->view('user/templates/footer');
            }

        }'enter code here'

Посмотреть

<?php
print_r($hhh);
?>

Модель

 public function viewb2bproduct($id) {
         $this->db->select('*');
        $this->db->from('jil_products');
        $this->db->where('prd_id', $id);
        $query = $this->db->get();
        return $query->result();
    }
  • 0
    что за сообщение об ошибке напечатано в представлении ??
  • 0
    страница просмотра будет пустой. массив не печатает
Показать ещё 13 комментариев
Теги:
codeigniter
codeigniter-3
codeigniter-2

4 ответа

0
Лучший ответ

В вашем контроллере измените эту строку:

$listb['hhh'] = $this->featured_model->viewb2bproduct($pid);

в

$listb['hhh'][] = $this->featured_model->viewb2bproduct($pid);

Ввиду:

<?php 

foreach ($fff as $product){

  echo $products[0]['prd_id']."<br>"; 
  echo $products[0]['prd_name']."<br>";  //and so on
}
  • 0
    хорошо, пожалуйста, укажите, как эти данные попадают на страницу просмотра
  • 0
    Ваша просматриваемая страница будет иметь тот же код, что и сейчас: <?php print_r($hhh); ?>
Показать ещё 3 комментария
0
      $hhh=array();

      foreach ($data1['list1'] as $list1) {
                $list = explode(',', $list1->fet_list);
                $type = $list1->fet_type;

                foreach ($list as $pid) {
                    if ($type == 1) {

                        $hhh[] = $this->featured_model->viewb2bproduct($pid);
                        //print_r($listb);
                    }
                }
            }
        $listb['hhh']=$hhh;
       $this->load->view('user/templates/featured', $listb);
  • 1
    Спасибо Никунь Чавда :)
  • 0
    Это мое удовольствие, Ангел :)
Показать ещё 1 комментарий
0

В модели

public function viewb2bproduct($id) {
    $this->db->select('*');
    $this->db->from('jil_products');
    $this->db->where('prd_id', $id);
    $query = $this->db->get();
    $result = $query->result_array();
    return $result;     
}

В контроллере

public function index() 
{
        $this->load->helper('url');

        $data['banner'] = $this->banner_model->viewbanner();

        $data1['list1'] = $this->featured_model->viewfeaturedlist(1); 

        $this->load->view('user/templates/sidebar', $data);
        $this->load->view('user/templates/header');
        $this->load->view('user/templates/featured', $listb);
        $this->load->view('user/templates/footer');
    }

}

и в поле зрения

<?php
    foreach ($list1 as $new_list1) 
    {
        echo "<p>".$new_list1['table_field']."</p>"
    }

Я понятия не имею об этой части

   $listb = array();
    foreach ($data1['list1'] as $list1) 
    {
        $list = explode(',', $list1->fet_list);
        $type = $list1->fet_type;

        foreach ($list as $pid) {
            if ($type == 1) {

                $listb['hhh'] = $this->featured_model->viewb2bproduct($pid);
                //print_r($listb);
            }
        }
    }
  • 0
    Спасибо за попытку помочь мне
  • 0
    @ Ангел с радостью помогу
Показать ещё 1 комментарий
0

Ваш $listb['hhh'] находится в цикле foreach, и вы каждый раз переопределяете его для каждого элемента из $list. и в контроллере вы печатаете его внутри цикла foreach поэтому он дает вывод, но не в вашем view.

  • 0
    как эта проблема может быть решена?
  • 0
    foreach ($ hhh как $ products) {echo $ products [0] ['prd_id']. '<br>'; echo $ products [0] ['prd_name']. '<br>'; } Я получил результат, используя этот код. но это хорошее решение?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню