Renvoi de données à réponses multiples en une seule réponse
Dans votre code PHP, vous avez une requête qui récupère plusieurs lignes de données à partir d'une table de base de données . Cependant, vous obtenez plusieurs réponses et vous souhaitez les fusionner en une seule réponse avec plusieurs enregistrements.
Pour y parvenir, vous devez modifier votre requête pour effectuer une jointure gauche sur les tables nécessaires. Au lieu de récupérer les données des étudiants, vous récupérerez les données du sujet et inclurez les informations pertinentes sur les étudiants à l'aide de jointures à gauche. Cela vous permettra d'inclure des données associées provenant de plusieurs tables dans une seule réponse.
Voici un exemple de requête mise à jour :
<code class="php">$sql = 'SELECT subjects.userid, users.name AS username, ( SELECT id FROM tbsubjects WHERE userid = subjects.userid ORDER BY id ASC LIMIT 1 ) AS subjectsid, ( SELECT name FROM tbsubjects WHERE userid = subjects.userid ORDER BY time DESC LIMIT 1 ) AS subjectname, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND month = DATE_FORMAT(NOW(), "%c") ) AS activepts, IFNULL(SUM(subjects.points), 0) AS totalpts, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 1 ) AS sem1, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 2 ) AS sem2, ( SELECT IFNULL(SUM(points), 0) FROM tbsubjects WHERE userid = subjects.userid AND semester = 3 ) AS sem3 FROM tbsubjects AS subjects LEFT JOIN tbusers AS users ON users.id = subjects.userid WHERE subjects.userid = :userid GROUP BY subjects.userid ORDER BY subjects.time DESC';</code>
Dans cette requête :
Après avoir exécuté cette requête, vous obtiendrez une réponse unique contenant plusieurs enregistrements de sujet. , chacun avec les informations nécessaires sur l'élève et les valeurs calculées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!