자바스크립트에서 이중배열을 받아서 처리하고 싶습니다.

자바스크립트에서 이중배열을 받아서 처리하고 싶습니다.

QA

자바스크립트에서 이중배열을 받아서 처리하고 싶습니다.

본문

ajax로 페이지를 만들고 있는데 


$.ajax({
    url : "sql.php",
    type : "post",
    data : {
      sql : "select * from member",
    }
  }).done(function(result){
    console.log(result);
  });

 

sql.php 부분은


<?php
include_once($_SERVER[DOCUMENT_ROOT]."/999/dbconfig.php");
$sql = $_POST['sql'];
$result = mysqli_query($connect, $sql);
while ($row = mysqli_fetch_array($result)) {
  // code...
  $member_tb[] = array('no' => $row['no'], 'id' => $row['id'], 'name' => $row['name'], 'address' => $row['address'], 'tel' => $row['tel']);
}
print_r($member_tb);
?>

 

sql.php에서 리턴되는 값은

 

Array
(
    [0] => Array
        (
            [no] => 1
            [id] => bkcha
            [name] => 고길동
            [address] => 대전시 서구 둔산1동
            [tel] => 000-9877
        )

    [1] => Array
        (
            [no] => 2
            [id] => bykang
            [name] => 홍길동
            [address] => 대전시 서구 둔산동
            [tel] => 000-3243
        )   

)

 

이런식이라면

 

리턴되는 자바스크립트 부분에서는 

이 값을 어떻게 사용할 수 있을까요?

 

위 값들은 콘솔에 찍어본 리턴값들인데

 

특정값을 접근해서 출력하려면?

 

특정값 접근이 가능하다면 $.each나 포문을 이용해서

출력 가능할거 같은데...어떤가요?
 

 

이 질문에 댓글 쓰기 :

답변 2

음.. 그누보드에서 sql 함수를 왜 안하는진 모르겠지만~ 개인 공부를 하신다고 생각해서 얘기 드리자만

제이쿼리 에이젝스 에서 이렇게 쿼리를 주시면 안되요 ㅋㅋㅋ 이건 어떠한 값을 data 에다가 적용하시던지 해야되요

 data : {
      sql : "select * from member",
    }

 

data : { test: '테스트' } << 이렇게 대충 예제로..

 

백단에서 이렇게 하는게 정답이에요 

$sql = "select * from member"; 
$result = mysqli_query($connect, $sql);

 

와일문 안에 배열도 

$member_tb[] << 이걸 초기화 해야되요
$member_tb = []; 혹은 $member_tb = array(); << 이렇게 해야되요

결국엔 아래 처럼 하시면 되요


$member_tb = [];

while ($row = mysqli_fetch_array($result)) {
  // code...
  $member_tb[] = array('no' => $row['no'], 'id' => $row['id'], 'name' => $row['name'], 'address' => $row['address'], 'tel' => $row['tel']);
}

 

그리고 마지막으로 제이쿼리 에이젝스를 뿌려주려면 each문으로 뿌려주시던지 아님 자스로 for, foreach문으로..

 

$.each(result, function() {

   console.log(result)

});

 

콘솔로그 찍어서 배열이 어떻게 나오는지 확인해서 뿌려보세요

너무 어렵지 않으니~ 구글링도 해보시구요 예제 많습니다~

 

 

 

 

 

ajax 에서 이중배열을 받아서 처리하는 것은..

방법이 없는 것은 아니지만.. 상대적으로 많이 어렵습니다.

 

ajax 에서 데이터 출력까지 처리한뒤,

출력된 문자열을 받아서 보여주는 것이 상대적으로 쉬운 편입니다.

 

 


<div id="div1">ajax 에서 처리된 내용 이곳에 노출</div>
<script>
$.ajax({
    url : "sql.php",
    type : "post",
    data : {
      sql : "select * from member",
    }
  }).done(function(result){
    $('#div1').html(result);
  });
</script>

 

답변을 작성하시기 전에 로그인 해주세요.
전체 17,127
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT