Bonjour,
Voici un petit code qui permet de créer un tableau avec du contenu dynamique dans les cellules.
Je m'explique dans mon exemple j'ai pris le cas des animes, un anime possède plusieurs genre.
Donc le script va créer la ligne du tableau et va la compléter avec tous les genres qu'il possède.
je souhaiterai avoir l'avis d'autres personnes.
Source / Exemple :
//Fichier SQL
--
-- Structure de la table `anime`
--
CREATE TABLE IF NOT EXISTS `anime` (
`id_anime` int(11) NOT NULL,
`nom_anime` varchar(200) DEFAULT NULL,
`type_anime` varchar(200) DEFAULT NULL,
`nb_episode` varchar(200) DEFAULT NULL,
`annee_prod` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id_anime`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Structure de la table `appartenir_genre`
--
CREATE TABLE IF NOT EXISTS `appartenir_genre` (
`id_anime` int(11) NOT NULL DEFAULT '0',
`nom_genre` varchar(200) NOT NULL DEFAULT '',
PRIMARY KEY (`id_anime`,`nom_genre`),
KEY `nom_genre` (`nom_genre`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Structure de la table `genre`
--
CREATE TABLE IF NOT EXISTS `genre` (
`nom_genre` varchar(200) NOT NULL,
`description_genre` varchar(200) DEFAULT NULL,
PRIMARY KEY (`nom_genre`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
//Fichier PHP
<?php
//Connexion a la BDD
require 'content/m_cnx.php';
cnx_bdd();
// On recupere le(s) episode(s) de l'anime
$rqt_anime = " SELECT anime.id_anime, nom_anime, nom_genre, type_anime, nb_episode, annee_prod
FROM anime left join appartenir_genre
ON anime.id_anime=appartenir_genre.id_anime
ORDER BY nom_anime, id_anime, nom_genre";
$rqt_anime = mysql_query($rqt_anime)or die (mysql_error());
?>
<table>
<tr>
<td>Titre</td>
<td>Genre</td>
<td>Nb</td>
<td>Type</td>
<td>Année</td>
</tr>
<?php
$cpt = 0;
$eps = '';
$eps1 = 0;
$table = '';
$contenu = '';
$genre = '';
$type = '';
$nb_eps = '';
$annee = '';
while($anime = mysql_fetch_assoc($rqt_anime))
{
if($eps!=$anime['id_anime']) //Nouvelle ligne car nouveau anime
{
if($cpt%2==0)
{
echo '<tr class="CouleurFond1"><td>'.$contenu.'</td><td>'.$genre.'</td><td>'.$nb_eps.'</td><td>'.$type.'</td><td>'.$annee.'</td></tr>';
}
else
{
echo '<tr class="CouleurFond2"><td>'.$contenu.'</td><td>'.$genre.'</td><td>'.$nb_eps.'</td><td>'.$type.'</td><td>'.$annee.'</td></tr>';
}
$nom_anime = $anime['nom_anime'];
$id = $anime['id_anime'];
$genre = $anime['nom_genre'];
$type = $anime['type_anime'];
$nb_eps = $anime['nb_episode'];
$annee = $anime['annee_prod'];
$contenu = "<a href='index.php?page=AnimeFiche&id=$id'><span>$nom_anime</span></a>";
$cpt++;
}
else //Même anime que précedament alors on continu sur la même ligne
{
$genre.= ' | '.$anime['nom_genre'];
}
$eps = $anime['id_anime'];
}
if($cpt%2==0)
{
echo '<tr class="CouleurFond1"><td>'.$contenu.'</td><td>'.$genre.'</td><td>'.$nb_eps.'</td><td>'.$type.'</td><td>'.$annee.'</td></tr></table>';
}
else
{
echo '<tr class="CouleurFond2"><td>'.$contenu.'</td><td>'.$genre.'</td><td>'.$nb_eps.'</td><td>'.$type.'</td><td>'.$annee.'</td></tr></table>';
}
?>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.