테스트 사이트 - 개발 중인 베타 버전입니다

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

로마신전 4년 전 조회 1,764

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

</p>

<p>$.ajax({

    url : "sql.php",

    type : "post",

    data : {

      sql : "select * from member",

    }

  }).done(function(result){

    console.log(result);

  });</p>

<p>

 

sql.php 부분은

</p>

<p><?php

include_once($_SERVER[DOCUMENT_ROOT]."/999/dbconfig.php");</p>

<p>$sql = $_POST['sql'];

$result = mysqli_query($connect, $sql);</p>

<p>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);</p>

<p>?></p>

<p>

 

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개

채택된 답변
+20 포인트

음.. 그누보드에서 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(); << 이렇게 해야되요

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

</span></p>

<p><code>$member_tb = [];</code></p>

<pre>
<code>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']);
}</code></pre>

<p><span style="font-size: 14.666666984558105px;">

 

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

 

$.each(result, function() {

   console.log(result)

});

 

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

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

 

 

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

4년 전

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

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

 

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

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

 

 

</p>

<p><div id="div1">ajax 에서 처리된 내용 이곳에 노출</div></p>

<p><script></p>

<p>$.ajax({

    url : "sql.php",

    type : "post",

    data : {

      sql : "select * from member",

    }

  }).done(function(result){

    $('#div1').html(result);

  });</p>

<p></script></p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인