2012-02-28 2 views
0

PHP로 AJAX 응답을 생성하는 데 문제가 있습니다. 응답은 데이터베이스 값이 들어있는 연관 배열이어야합니다. 이 값은 나중에 선택 상자에 표시됩니다.PHP로 AJAX 응답, mysql 문제

if (isset($_POST['rolle'])) { 
    $sql = "SELECT rolle FROM pu_zugriff_rolle ORDER BY rolle ASC"; 

    $result = mysql_query($sql); 

    $result = mysql_fetch_array($result); 

    echo json_encode($result); 
} 

데이터베이스에 저장된 항목이 여러 개 있지만 결과적으로 첫 번째 데이터베이스 값을 두 번 가져옵니다. SQL 쿼리는 확실히 문제가 아닙니다.

어시스턴트 배열을 생성하려면 $result = my_sql_array($result); 문이 필요합니다. 내가 진술을 남겨두면 빈 선택 상자가 생깁니다.

+0

에서 [문서] (http://php.net/manual/en/function.mysql-fetch-array.php) 말한다 : "로 MYSQL_ASSOC - 가져 오기 ** 결과 행 **을 연관 배열, 숫자 배열 또는 둘 다로 표현 " –

+0

왜 이전 질문에서 Safraz의 조언을 따르지 않습니까? 원칙은 동일합니다, 당신은 루프를 실행해야합니다 (내 downvote가 아니라) –

답변

1

당신은이 작업을 수행 할 수 있습니다

$finalArr = array(); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $finalArr[] = $row; 
} 

echo json_encode($finalArr); 
0

mysql_fetch_array ($ result, MYSQL_ASSOC)와 같이 mysql_fetch_assoc ($ result) 또는 MYSQL_ASSOC 상수를 사용해야합니다.