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

mysql डेटा से json में सरणी के अंदर सरणी बनाना

आपको अपने ऐरे को रीमैप करना होगा और फिर राइट्स की के लिए ऐरे को इनिशियलाइज़ करना होगा... इसलिए, अपने लूप को कुछ इस तरह बदलें:

$json_response = array();
while($row = $result->fetch_assoc()) {
    if (!isset($json_response[ $row['idCategory'] ])) {
        $json_response[ $row['idCategory'] ] = [
            'idCategory' => $row['idCategory'],
            'nameCategory' => $row['nameCategory'],
            'rights' => [],
        ];
    }
    $json_response[ $row['idCategory'] ]['rights'][] = [
        'idRight' => $row['rid'],
        'name' => $row['rname'],
        'price' => $row['price'],
        'image' => $row['rimg']
    ];
}

// We want the final result to ignore the keys and to create a JSON array not a JSON object 
$data = [];
foreach ($json_response as $element) {
    $data[] = $element;
}

echo json_encode($data);

कोड का यह भाग $json_response[ $row_array['idCategory'] ] डेटा के एक अद्वितीय समूह को बनाए रखने में मदद करता है क्योंकि यह idCategory के आधार पर हैश बनाता है। एक सरणी में केवल एक कुंजी हो सकती है और चूंकि idCategory हमेशा अद्वितीय होता है, हम इसे समूहबद्ध करने के लिए कुंजी के रूप में उपयोग कर सकते हैं। तब क्योंकि अब हमारे पास हैश-आधारित सरणी है, हमें एक नया सरणी बनाना होगा जो कि 'वास्तविक' सरणी है जब इसे JSON में बदल दिया जाता है। आप इस स्थिति में GROUP BY या GROUP_CONCAT का उपयोग नहीं करना चाहते।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. छवि फ़ाइलों या URL को MySQL डेटाबेस में संग्रहीत करें? कौनसा अच्छा है?

  2. स्लीक के साथ Playframework में एक MySQL कनेक्शन बनाएं

  3. PHP कोड को समय-समय पर स्वचालित तरीके से कैसे निष्पादित करें

  4. 'create_date' टाइमस्टैम्प फ़ील्ड के लिए अमान्य डिफ़ॉल्ट मान

  5. MYSQL में एक विशिष्ट ग्राहक का चयन करें?