Maison >base de données >tutoriel mysql >Comment puis-je regrouper et afficher les résultats MySQL par données de champ dans un tableau HTML ?
La base de données MySQL fournie contient des informations sur les groupes et les noms. Le but est d'afficher les données dans un tableau HTML organisé par groupe, chaque groupe affichant les noms qui lui sont associés. Pour y parvenir, une simple requête SQL peut être utilisée :
<code class="sql">SELECT Group, GROUP_CONCAT(Name) AS Names FROM database_table GROUP BY Group;</code>
Une fois les résultats récupérés, ils peuvent être itérés à l'aide de PHP pour générer la table HTML. L'extrait de code suivant illustre comment cela peut être réalisé :
<code class="php">$result = $mysqli->query($sql); echo "<table>"; echo "<tr><th>Group</th><th>Name</th></tr>"; while ($row = $result->fetch_assoc()) { $names = explode(",", $row['Names']); echo "<tr><td>{$row['Group']}</td><td>{$names[0]}</td></tr>"; array_shift($names); foreach ($names as $name) { echo "<tr><td></td><td>$name</td></tr>"; } } echo "</table>";</code>
La deuxième partie de la question présente un scénario plus complexe impliquant plusieurs tables avec différents champs. Pour gérer cela, la requête peut être modifiée pour joindre les tables et inclure les champs supplémentaires :
<code class="sql">SELECT p.Group,</code>
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!