Select버튼아.. 너는 또 왜 작동 안하는고양...ㅠㅠㅠㅠ
model load문제는 해결했으니 아니고... 다시 코드를 보러 가본다..
select button을 누르면 아래 함수가 실행되어야 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php public function Fuc(){ $tablename = $_REQUEST ["tablename"]; $mem_idx = $_REQUEST ["mem_idx"]; $fields = $this->db->list_fields( $tablename ); $query_str = "SELECT * FROM member where idx = 14"; $query = $this->db->query ( $query_str ); foreach ( $query->result_array () as $row ) { $userID = $row ['mem_id']; } $this->db->select ( "*" ); $this->db->from ( $tablename ); $this->db->where ( 'mem_idx', $mem_idx ); $query = $this->db->get()->result(); foreach ( $query as $row ) { for($i = 0; $i < count ( $fields ); $i ++) { $values[$i] = $row->$fields[$i]; } } $data ['userID'] = $userID; $data ['fields'] = $fields; $data ['values'] = $values; $data ['tablename'] = $tablename; $data ['mem_idx'] = $mem_idx; echo json_encode ( $data ); } ?> |
자 왜 안되는걸까. 위에서 부터 차근차근이 테스트를 해본다.
echo 나 print_r 이나 var_dump 로 변수 값 잘 들어오는지 하나씩 테스트 하는거 아시죰?
3,4줄 ===> 값 잘 받아옴.
5줄 ===> 배열로 잘 받아옴
추가설명 출처: http://codeigniter-kr.org/user_guide_2.1.0/database/fields.html
$this->db->list_fields()
필드(칼럼)이름을 배열로 리턴합니다. 이 쿼리는 두가지 방법으로 호출할 수 있습니다:
1. 테이블 명을 넘겨주고 $this->db-> 객체를 사용하여 아래와같이 사용합니다:
$fields = $this->db->list_fields('table_name');
foreach ($fields as $field)
{
echo $field;
}
2. 쿼리를 이용하여 필드들을 지정한 효과를 낼수 있습니다. 필드와 관련된 어떤 쿼리라도 상관없습니다. (필드와 관련없는 함수호출 쿼리는 안되겠죠) 아래예제를 보시기 바랍니다:
$query = $this->db->query('SELECT * FROM some_table');
foreach ($query->list_fields() as $field)
{
echo $field;
}
7~11줄 ===> query결과값을 배열로 만들어서 foreach 문 돌린다음 mem_id값 추출. 잘 나옴
13~17줄 ===> 음 select * from $tablename where mem_idx = $mem_idx한 결과 값이 배열로...? 객체로...? 잘 나옴
결과값 :
array (size=1) 0 => object(stdClass)[22] public 'idx' => string '3' (length=1) public 'mem_idx' => string '14' (length=2)
......
이런식으로 나오는데 배열이자 객체인건가..?.. 아직 수련이 부족하다!!!!!!!!!! 아무튼 이렇게 잘 나오고
19줄~23줄 ===> 앗! 여기서 안나온! 여기임!
하.. 보자보자 음.. 배열을 문자열로 변환하세욤 & 지정되지 않은 속성입니다:stdClass::$Array...
이놈이 문제임 $row->$fields[$i] 인데 $row-> 다음에 배열이 들어가면 안되나봄.... 그렇구나..ㅠㅠ 몰랐징..
그리하여
1 2 3 4 5 | //$values[$i] = $row->$fields[$i]; $val = $fields[$i]; $values[$i] = $row->$val; | cs |
'공부' 카테고리의 다른 글
MYSQL 명령어 정리(DML) (0) | 2022.07.02 |
---|---|
MYSQL 비밀번호 재설정 (0) | 2021.09.27 |
IT 정보 (0) | 2021.09.23 |
블록체인 캠퍼스 190703 (0) | 2019.07.04 |
[정리] 개념이 명확하지 않은 단어 개념 정리! (0) | 2018.02.23 |
댓글