2016-02-05 2 views
1

Мой Mysqli Обновленный запрос и выводит этотJSON многомерный массив с помощью mysql_fetch_assoc

SELECT milestone.id, milestone.name, milestone.date, milestone.location, milestone.story_body, milestone.short_link, milestone.created_at, 
GROUP_CONCAT(images.path) as path , images.update_type 
FROM milestone 
INNER JOIN images ON milestone.id = images.update_id 
WHERE milestone.business_id = '1' && milestone.status = '1' && images.update_type = '3' 
GROUP BY milestone.id 

DB Capture

Как я могу сформировать объект JSON с помощью выше запроса?

Я пробовал ниже метод, который не дает никакого результата

$result_array = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $result_array[] = $row; 

} 

Я хочу что-то вроде этого -

[ 
     { 
      "id":"4", 
      "name":"2nd anniversary", 
      "date":"2015-12-17", 
      "location":"Mumbai", 
      "story_body":"Gzjjs jdk djks jdks jdkd jx djdb djd JD djbd djdj d", 
      "short_link":"izWfs", 
      "created_at":"2015-12-11 03:49:52", 
      "path": 
       [      
        {"\/SupportData\/ImpalzB2B\/uploads\/90294930451448437444826.jpg"}, 
        {"\/SupportData\/ImpalzB2B\/uploads\/90294930451449758248579.jpg"} 
       ], 
      "update_type":"3" 
     },  
     { 
      "id":"7", 
      "name":"#1styearAnniversary", 
      "date":"2016-01-20", 
      "location":"Mumbai", 
      "story_body":"Bsjsj jdkdk djdkdk dkdkf kdkf dkfj fjfj fjfkjdd djkd", 
      "short_link":"FHXh0", 
      "created_at":"2016-01-20 23:10:54", 
      "path":"\/SupportData\/ImpalzB2B\/uploads\/11453356652175.jpg", 
      "update_type":"3" 
     } 
    ] 

Примечание: Я знаю, Mysql не используется в PHP 7. Мне нужно заменить его PDO & Mysqli, поэтому, пожалуйста, пренебрегайте этой ошибкой. Я работаю над тем же тем временем, когда сталкиваюсь с этим вопросом.

+0

Обновлен мой запрос. @ A-2-A –

+0

«GROUP_CONCAT (путь)» и «GROUP BY id» могут помочь. –

+0

@Sougata Я обновил свой запрос и результат, как я могу получить результат сейчас? –

ответ

0

Вы можете сделать это прямо сейчас -

$result_array = array(); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $temp= explode(',', $row['path']); // explode by , 
    if(count($temp) > 1) { // More than one element then assign 
     $row['path']= $temp; 
    } 
    $result_array[] = $row; 
} 
Смежные вопросы