본문 바로가기
공부

[오늘의 issue] 오늘도 버튼이 먹지 않는다!

by yeaseul912 2018. 2. 23.
728x90


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 );
    }
?>

cs


wk

자 왜 안되는걸까. 위에서 부터 차근차근이 테스트를 해본다. 


echoprint_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...



           $values[$i= $row->$fields[$i]; 
            


이놈이 문제임 $row->$fields[$i] 인데 $row-> 다음에 배열이 들어가면 안되나봄.... 그렇구나..ㅠㅠ 몰랐징.. 


그리하여

1
2
3
4
5

                    //$values[$i] = $row->$fields[$i]; 
                    $val = $fields[$i];
                    $values[$i= $row->$val;

cs

이렇게 바꿈으로 해결함요. 아자! 

db->result 참고 사이트 : http://www.ciboard.co.kr/user_guide/kr/database/results.html

아 주말이당.. 금방이네요 저는 오늘 2개를 포스팅했는데 하나는 혼자 공부하다가 모르는거 쭉 써놓고 하나는 이거.. 

과연 보람차다고 할 수 있을까.. 나는 보람차다고 생각한다! 원래는 한페이지더 손봐야 하지만 뭐가 문제인지 알아서 금방 할 수 있을것같다.!

그럼 즐주~!


반응형

'공부' 카테고리의 다른 글

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

댓글