2016-06-16 2 views
0

мой контроллерretrive данные Databse в цикл

function shiftstudentdetailsmultiple(){ 
    $data['Show'] = $this->input->post('show[]'); 
    $roll = $this->input->post('roll[]'); 
    //echo sizeof($data1); 
    for($i=0;$i<sizeof($roll);$i++) 
    { 

     $data['results'] = $this->FetchData->getstudentsdetailscouseandmultiple($roll[$i]); 
    } 
    $this->load->view('registrar/shift_student_view', $data); 

} 

и модели

function getstudentsdetailscouseandmultiple($Uniq_Id){ 

    $this->db->select("sprd.Uniq_Id, sprd.Name, sprd.Uni_Roll_No, cd.Course_Name, bd.Branch_Name, sprd.Year, sprd.Session, sprd.Section, sprd.Fee_Status, sprd.Curr_Status"); 
    $this->db->where("sprd.Uniq_Id",$Uniq_Id); 
    $this->db->from("Students_Prim_Detals sprd"); 
    $this->db->join('Course_Details cd', 'cd.Course_Id=sprd.Course_id'); 
    $this->db->join('Branch_Details bd', 'bd.Branch_Id=sprd.Branch_id'); 

    $query = $this->db->get(); 
    if ($query->num_rows() > 0){ 
     return $query->result(); 
    } 
    else { 
     return false; 
    } 


} 

при показе в виду сгрузки данные, показывающие, только один раз .. но в моей базе данных у меня есть еще затем 4 входа, когда я print_r

     $data['results']=this->FetchData->getstudentsdetailscouseandmultiple($roll[$i]); 

данные, показывающие правильный .. когда нагрузка показывает только одну data..the последнюю запись ..

$this->load->view('registrar/shift_student_view', $data); 

ответ

1

Каждый раз, когда вы звоните ...

$data['results'] = $this->FetchData->getstudentsdetailscouseandmultiple($roll[$i]); 

заменить значение, хранящееся в $data['results'] с новым возвращением. Таким образом, только один возврат отправляется на просмотр.

Вам необходимо будет пересмотреть контроллер по этим строкам.

$student_detail = array(); 
for($i=0;$i<sizeof($roll);$i++) 
{  
    $student_detail[] = $this->FetchData->getstudentsdetailscouseandmultiple($roll[$i]); 
} 
$data['results'] = $student_detail; 

Затем на ваш взгляд, вам придется перебрать $results для отображения каждого элемента в массиве.

foreach($results as $detail){ 
    echo "Name: ". $detail->name; 
    echo "Course: ". $detail->Course_Name; 
    //etc... 
} 
+0

print_r ($ student_detail) результат Array ([0] => Array ([0] => StdClass объекта ([Uniq_Id] => 2 [Имя] => Devendra Чаухан [Uni_Roll_No] => 1006510014 [ Course_Name] => B.Tech [Branch_Name] => CSE [Year] => 1 [Session] => 2016-2017 [Section] => A [Fee_Status] => Unpaid [Curr_Status] => Ex)) [1] => Array ([0] => stdClass Object ([Uniq_Id] => 545 [Name] => sdfdasf [Uni_Roll_No] => [Course_Name] => B.Tech [Branch_Name] => CSE [Year] => 1 [ Session] => 2015-2016 [Section] => [Fee_Status] => Неоплаченный [Curr_Status] => Обычный))) получение ошибки в представлении _Trying для получения свойства non-object_ –

+0

Почему я получаю массивы в массиве. ** Array ([0] => Array ([0] => stdClass Object ** –

+0

теперь его рабочий тон .. данные представляют собой массив в массив и ... foreach ($ results as $ detail) удаляет массив только один. для удаления внутреннего массива я должен поставить еще один foreach ($ deatil as $ row), он отлично работает. –