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

json_encode करने के लिए एकाधिक MySQL तालिका

ठीक है तो मैंने आपका समाधान लिखा है। आपको यह सुनिश्चित करना होगा कि द्वारा आदेश वहां शामिल है क्योंकि यह मानता है कि आप उन्हें वहां वस्तुओं के साथ एक साथ ऑर्डर कर रहे हैं। मुझे यह भी नहीं पता था कि आपका प्रकाशक कैसे संग्रहीत किया गया था, इसलिए मैंने इसे एक अलग तालिका में अलग कर दिया (यह आपको वहां प्रकाशक द्वारा भी आइटम प्राप्त करने की अनुमति देगा), जो अब 4 जुड़ता है। इसके अलावा एक और नोट पर मैंने इसे आंतरिक जुड़ने के लिए भी अपडेट किया है। इस तरह आपको उन कंसोल के लिए खाली परिणाम नहीं मिलेंगे जिनके पास कोई गेम असाइन नहीं किया गया है। यदि आप इन्हें चाहते हैं तो आप आसानी से जुड़ने को बदल सकते हैं ताकि यह आपको वे परिणाम भी दे सके। मुझे बताएं कि क्या यह मदद करता है

//get all of the information
$query = '
    SELECT c.consoleId,c.consoleName,m.modelId,m.modelName,g.gameId,g.gameName,p.publisherId,p.publisherName
    FROM `consoleconsole` c
        INNER JOIN `consolemodel` m ON c.consoleId=m.consoleId
        INNER JOIN `consolegame` g ON m.modelId=g.modelId
        INNER JOIN `consolepublisher` p ON g.publisherId = p.publisherId
    ORDER BY c.consoleName, m.modelName, g.gameName
';

//get the results
$result = mysql_query($query);

//setup array to hold information
$consoles = array();

//setup holders for the different types so that we can filter out the data
$consoleId = 0;
$modelId = 0;

//setup to hold our current index
$consoleIndex = -1;
$modelIndex = -1;

//go through the rows
while($row = mysql_fetch_assoc($result)){
    if($consoleId != $row['consoleId']){
        $consoleIndex++;
        $modelIndex = -1;
        $consoleId = $row['consoleId'];

        //add the console
        $consoles[$consoleIndex]['console'] = $row['consoleName'];

        //setup the information array
        $consoles[$consoleIndex]['information'] = array();
    }

    if($modelId != $row['modelId']){
        $modelIndex++;
        $modelId = $row['modelId'];

        //add the model to the console
        $consoles[$consoleIndex]['information'][$modelIndex]['model'] = $row['modelName'];

        //setup the title array
        $consoles[$consoleIndex]['information'][$modelIndex]['title'] = array();
    }

    //add the game to the current console and model
    $consoles[$consoleIndex]['information'][$modelIndex]['title'][] = array(
        'game'      => $row['gameName'],
        'publisher' => $row['publisherName']
    );
}

echo json_encode($consoles);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pySpark का उपयोग करके डेटाफ़्रेम को mysql तालिका में लिखें

  2. MySQL के साथ ElasticSearch को कैसे एकीकृत करें?

  3. जावा टूल के लिए LINQ

  4. SQL प्रदर्शन यूनियन बनाम OR

  5. phpMyAdmin ('एक्सेस अस्वीकृत डेटाबेस बनाएं db_name' त्रुटि) के माध्यम से डेटाबेस को आयात और निर्यात कैसे करें