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 ?

Comment puis-je regrouper et afficher les résultats MySQL par données de champ dans un tableau HTML ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-05 21:43:02585parcourir

How can I Group and Display MySQL Results by Field Data in an HTML Table?

Regroupement des résultats MySQL par données de champ

Requête initiale

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>

Implémentation PHP

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>

Regroupement complexe avec plusieurs tables

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn