2016-08-31 4 views
1

мой PHP код выглядит следующим образом:Как отобразить формат json в формате Mysql php?

$query = "SELECT * 
     FROM `address` 
     WHERE customer_id =$customer_id 
     ORDER BY `default` DESC"; 

$result=mysql_query($query); 

$value = mysql_num_rows($result); 

if($value>=1) 
{ 
    while($row = mysql_fetch_array($result)) 
    { 

     $details = array(
     'status'=>'sucess', 
     'message'=>'address available', 
     'id' => $row['id'], 
     'customer_id' =>$row['customer_id'], 
     'at' => $row['at'], 
     'name'=>$row['name'], 
     'mobile'=>$row['mobile'], 
     'city'=>$row['city'], 
     'address'=>$row['address'], 
     'latlog'=>$row['latlog'], 
     'default'=>$row['default'] 
     );   
    } 
    echo json_encode($details); 
} 

Ее выход выглядит следующим образом:

{"status":"sucess","message":"address available","id":"52","customer_id":"14","at":"Home","name":"Shhsh","mobile":"99989998","city":"Calicut","address":"Gsggsgs","latlog":"76.3007429,76.3007429","default":"Yes"} 

это объект JSON. Мой запрос json:

{"status":"sucess","message":"address available","details":[{"id":"52","customer_id":"14","at":"Home","name":"Shhsh","mobile":"99989998","city":"Calicut","address":"Gsggsgs","latlog":"76.3007429,76.3007429","default":"Yes"}] 
} 

Какие все изменения должны быть внесены в требуемый формат json? это json-объект, содержащий json-массив. что все изменения должны были сделать для получения требуемого json-формата. Я новичок в этом. Спасибо заранее.

ответ

0

Пожалуйста, удалите в то время как я думаю, нет необходимости, а

$query ="SELECT id,customer_id,at,name,mobile, 
     city,address,latlog,default 
     FROM `address` 
     WHERE customer_id =$customer_id 
     ORDER BY `default` DESC"; 

$result=mysql_query($query); 

$value = mysql_num_rows($result); 

$json=array(); 
     $json['status']='sucess'; 
     $json['message']='address available'; 
     $json['details']=$value; 

     echo jsone_encode($json); 
+1

Спасибо и очень много .. его работы .. Я новичок в этом .. –

+0

приветственное :) @AbinJacob –

1

Вам нужно будет создать массив снаружи, чтобы добавить данные результата, а затем поместить его в основной массив непосредственно перед его расшифровкой до JSON.

Подобно этому,

if($value>=1) 
{ 
    $details=array(); 
    while($row = mysql_fetch_array($result)) 
    { 

     $details[]= array(
     'id' => $row['id'], 
     'customer_id' =>$row['customer_id'], 
     'at' => $row['at'], 
     'name'=>$row['name'], 
     'mobile'=>$row['mobile'], 
     'city'=>$row['city'], 
     'address'=>$row['address'], 
     'latlog'=>$row['latlog'], 
     'default'=>$row['default'] 
     );   
    } 
    $main_array=array(); 
    $main_array['status']='sucess'; 
    $main_array['message']='address available'; 
    $main_array['details']=$details; 

    echo json_encode($main_array); 
} 

Это будет генерировать JSON, как это, http://json-parser.com/deec3edd

0

Заменить этот код с кодом .. .its работает для вас ... спасибо

while($row = mysql_fetch_array($result)) 
{ 

    $details = array(

    'id' => $row['id'], 
    'customer_id' =>$row['customer_id'], 
    'at' => $row['at'], 
    'name'=>$row['name'], 
    'mobile'=>$row['mobile'], 
    'city'=>$row['city'], 
    'address'=>$row['address'], 
    'latlog'=>$row['latlog'], 
    'default'=>$row['default'] 
    );   
} 
$json= array('status'=>'sucess','message'=>'address available','details'=> $details); 
echo json_encode($json); 
0

То, что вы хотите сделать, это генерировать данные массива и добавить его в ответ, как массив, таким образом, вы можете контролировать свой статус вне цикла (если он не возвращает данные для примера):

if($value>=1){ 
    $details=array(); 
    while($row = mysql_fetch_array($result)) 
    { 

     $details[]= array(
     'id' => $row['id'], 
     'customer_id' =>$row['customer_id'], 
     'at' => $row['at'], 
     'name'=>$row['name'], 
     'mobile'=>$row['mobile'], 
     'city'=>$row['city'], 
     'address'=>$row['address'], 
     'latlog'=>$row['latlog'], 
     'default'=>$row['default'] 
     );   
    } 
    $main_array=array(); 
    $message = 'address available'; 
}else{ 
    $message = 'no address'; 
    $details = null; 
} 

echo json_encode(array(
    'success' => $value>=1, 
    'message' => $message, 
    'details' => $details 
)); 
0

вы можете редактировать код

while($row = mysql_fetch_array($result)) 
{ 

    $details = array(
    'status'=>'sucess', 
    'message'=>'address available', 
    'id' => $row['id'], 
    'customer_id' =>$row['customer_id'], 
    'at' => $row['at'], 
    'name'=>$row['name'], 
    'mobile'=>$row['mobile'], 
    'city'=>$row['city'], 
    'address'=>$row['address'], 
    'latlog'=>$row['latlog'], 
    'default'=>$row['default'] 
    );   
} 
echo json_encode($details); 

в

$datails = array(); 
while($row = mysql_fetch_array($result)) 
{ 
    $detail = array(
    'status'=>'sucess', 
    'message'=>'address available', 
    'details'=>[ 
    'id' => $row['id'], 
    'customer_id' =>$row['customer_id'], 
    'at' => $row['at'], 
    'name'=>$row['name'], 
    'mobile'=>$row['mobile'], 
    'city'=>$row['city'], 
    'address'=>$row['address'], 
    'latlog'=>$row['latlog'], 
    'default'=>$row['default'] 
] 
); 
array_push($datails,$datail);   
} 
echo json_encode($details); 
Смежные вопросы