2015-01-08 2 views
1

Codeigniter와 AJAX를 사용하여 데이터베이스에서 행을 검색하는 방법을 조사 중이지만 작동하지 않습니다. 여기에서 다음 단계를 수행했습니다. How to get a row from database using ajax in codeigniter 및 그 외의 부분은 입니다. (Codeigniter ajax - JQuery로 Codeigniter의 행을 검색하지 않습니다.

function get_invoices() 
    { 

     $company = $_POST['pass']; 

     $this->login_select->get_login($company);//model 

    } 

보기 JQuery와 :

테이블 (유저) :

+----------------+--------------+------+-----+---------+----------------+ 
| Field   | Type   | Null | Key | Default | Extra   | 
+----------------+--------------+------+-----+---------+----------------+ 
| id_user  | int(11)  | NO | PRI | NULL | auto_increment | 
| name   | int(11)  | YES |  | NULL |    | 
| information | varchar(200) | YES |  | NULL |    | 
+----------------+--------------+------+-----+---------+----------------+ 

제어기 (welcome.php) 코드 같다

function sendData(){ 

     var data = $('form').serialize(); 
     $('form').unbind('submit'); 

     $.ajax({ 
      url: '<?php echo base_url()?>index.php/welcome/get_invoices', 
      type: 'POST', 
      data: data, 
      success: function(data, textStatus, xhr) { 
        $('div#message').html(data); 
      } 
     }); 
    } 

모델 (login_select.php) 문제는 여기에 있습니다 : :

public function get_login($myid) 
    {   
     $temp = array(); 
     $this->db->select("user.*"); 
     $query = $this->db->get_where('user', array('id_user'=>$myid)); 
     $temp= $query->row_array(); 
     echo $temp['name']; 
     //return $temp; 
    } 

그리고 마지막으로는) 한 번에 한 가지 유형의 텍스트 (이름 패스)와 다른 하나는 제출있는 폼이로드 될 때 나는 다음을 얻는다 :

A PHP Error was encountered 

Severity: Notice 

Message: Undefined index: name 

Filename: models/login_select.php 

Line Number: 41 

어떻게 해결해야 하는가? 왜냐하면 나는 테이블에서 전체 행을 복구해야 할 필요가 있기 때문이다. 감사합니다

+1

또한 '$ this-> db-> select ("user. *");는 필요하지 않습니다. **'get_where()'**는 모든 필드를 선택합니다. –

답변

0

나는 그것을 고정하지만 좋은 방법인지 모르겠어요 :

컨트롤러 :

기본적으로 내가 다른보기 (여기에 인쇄 된 모든 것을 아약스를 통해 내 사업부에서 업데이트됩니다)을 생성

function get_invoices() 
    { 

     $data['login2'] = $this->login_select->get_login($company); 
     $this->load->view('ajaxtest', $data);///the trick 

    } 

보기의 JQuery는 같습니다.

모델 (여기에 이상한 아무것도) :

<?php 


echo sizeof($login2) . " "; 

foreach ($login2 as $login2_item): 

    echo $login2_item["name"]; 

endforeach; 

?> 

을 사람이 앞으로이 필요한 경우 :

public function get_login($myid) 
    { 


     $query = $this->db->get_where('user', array('id_user'=>$myid)); 

     return $query->result_array(); 

    } 

과 트릭이 경우 ajaxtest.php 다른보기를 만들 수 있습니다.

0

in login_select.php, $temp는 생각하는 것과 같지 않을 수 있습니다.

$temp['name'] 존재하지 않으므로 정의되지 않은 색인 오류가 발생합니다.

return isset($temp['name']) ? $temp['name'] : false; 

같은 것을 통해 그것을 사용하기 전에 $temp['name']가 있는지 확인 또는 세드릭 볼 수있다 die(var_dump($temp))를 실행합니다.

+0

하지만 테이블에서 '이름'값이 필요합니다. 변수 값을 어떻게 얻습니까? – user2580401

+0

내가 가지고 : 배열 (0) {} 왜? – user2580401

+1

SQL 쿼리가 어떻게 든 변형 되었기 때문에. 나는 더 이상 어떤 것을 돕기 위해 더 이상 codeigniter에 익숙하지 않다. CI가있는 DB에서 항목을 가져 오는 방법에 대한 자습서를 확인해야합니다. – castis

관련 문제