Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP में दो mysql तालिकाओं से Json

आप बहुत बड़ी संख्या में प्रश्नों का उपयोग कर रहे हैं। इसे एक ही प्रश्न में क्यों नहीं कर रहे हैं?

SELECT * FROM `Restaurants` `r`
    LEFT JOIN `Dishes` `d` ON (`r`.`id` = `d`.`f_id`)
ORDER BY `r`.`id` ASC 

और फिर JSON ऑब्जेक्ट बनाने के लिए परिणाम का उपयोग करें।

EDIT परिणाम को पुनरावृत्त करना आसान बनाने के लिए, मैंने क्वेरी को थोड़ा बदल दिया:

SELECT 
`r`.`id` as `restaurantId`, 
`r`.`name`, 
`r`.`info`, 
`d`.`id` AS `dishId`,
`d`.`dish`,
`d`.`description`
FROM `restaurants` `r`
    LEFT JOIN `dishes` `d` ON (`r`.`id` = `d`.`f_id`)
ORDER BY `r`.`id` ASC

परिणाम इस तरह दिखेगा:restaurantId, name, info, dishId, dish, description

अब आप परिणाम को इस प्रकार पुनरावृति कर सकते हैं:

$jsonArray = array();

foreach ($record as $dishDetails){
    // details of the restaurant
    $jsonArray[$dishDetails['f_id']]['name'] = $dishDetails['name'];
    $jsonArray[$dishDetails['f_id']]['info'] = $dishDetails['info'];

    // build the dishes of the restaurant
    $jsonArray[$dishDetails['f_id']]['dishes'][$dishDetails['dishId']]['dish'] = $dishDetails['dish']
    $jsonArray[$dishDetails['f_id']]['dishes'][$dishDetails['dishId']]['description'] = $dishDetails['description']
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL एन्कोडिंग समस्या - विंडोज़ से linux तक भिन्न परिणाम

  2. Laravel ड्रॉप फॉरेन की इन माइग्रेशन

  3. mysql मेमोरी इंजन को अधिक डेटा कैसे स्टोर करें?

  4. सत्र और सत्र डेटा संग्रहीत करने के लिए कौन सा MySQL डेटाबेस इंजन बेहतर है:MyISAM या InnoDB?

  5. mysql क्वेरी में चर का मान प्राप्त करने में समस्या