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();
}
В вашем контроллере измените эту строку:
$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
}
<?php print_r($hhh); ?>
$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);
В модели
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);
}
}
}
Ваш $listb['hhh']
находится в цикле foreach, и вы каждый раз переопределяете его для каждого элемента из $list
. и в контроллере вы печатаете его внутри цикла foreach
поэтому он дает вывод, но не в вашем view
.