2015-01-31 3 views
0

Я извлекаю записи из php &, сохраняя их в ассоциативных массивах. я хочу создать формат JSON, как этотCoverting php array to json array

{ 
"contacts": [ 
    { 
      "qid": "c201", 
      "question": "what is your name?, 

    }, 
    { 
      "qid": "c202", 
      "question": "what is your age? 

    }, 
    ]} 

Я использую следующий код, чтобы получить данные в PHP

<? 
$response = array(); 
require("dbconfig.php"); 
$sql_get = 'SELECT qquesid,question FROM qhistory_data'; 
$retval = mysql_query($sql_get, $conn); 
if(!$retval) 
{ 

      $response["success"] = 0; 
      $response["message"]= mysql_error(); 
      echo json_encode($response); 
} 
else 
{ 

$num_rows=mysql_num_rows($retval); 
if($num_rows>=0) 
    { 
     $i=0; 
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
     { 
      $result_array[]= $row['question']; 
      $result_id[]=$row['qquesid']; 

     } 
+0

Что вы хотите сделать? – zerkms

+1

как насчет 'json_encode'!?!? –

+0

Вы json_encoding ответ, если нет записей, так почему бы не json_encode ответ, когда есть? –

ответ

1

Если вы хотите, чтобы получить массив в форме вы упоминаете, вы должны проанализируйте его, прежде чем делать json_encode:

$result = array("contacts" => array()); 
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) { 
    $result["contacts"][]= array("qid" => $row['qquesid'], "question" =>$row['question']); 
} 

echo json_encode($result); 
+0

question id strats от 2, но он должен начинаться с 1. первая запись отсутствует – TechGuy

+0

извините, это была моя ошибка. Ваш код работает. Спасибо .. – TechGuy