Bonjour,
Je cherche comment je peux faire pour afficher les données provenant de 2 tables différentes dans un tableau.
J'ai une table Roster_members et une tabel DKP.
Le champs en commun est name pour la table Roster_members et personnage pour la table DKP.
On affiche donc dans la 1ère colonne les données venant de Roster_members et dans la deuxième les données de la table DKP
Mais si il n'y a pas d'enregistrement correspondant dans la table DKP, on affiche malgré tout dans la 1ère colonnes les données de la table Roster_members et dans la deuxième colonne on affiche 0 si aucun enregistrement trouvé par rapport à chaque donnée de la première table.
Voici un bout du code:
<?
// on se connecte à notre base
$base = mysql_connect ('HOST', 'SERVER', 'PASSWORD');
mysql_select_db ('TABLE', $base);
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = 'SELECT count(*) FROM Roster_members';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
//echo '<table><tr><td><td>Nom</td></tr>';
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
// début du tableau
echo '<center>';
echo '<table bgcolor="#000000">'."\n";
// première ligne on affiche les titres nom et classe dans 2 colonnes
echo '<tr>';
echo '<td width ="150" bgcolor="#2e2d2b"><div class="membersTitle"><a href = "modules.php?name=DKP&debut='.$_GET['debut'].'"><b><u>Personnage</u></b></a></div></td>';
echo '<td width ="50" bgcolor="#2e2d2b"><div class="membersTitle"><a href = "modules.php?name=DKP&debut='.$_GET['debut'].'"><b><u>DKP</u></b></a></div></td>';
//echo '<td bgcolor="#2e2d2b"><div class="membersTitle"><a href = "modules.php?name=DKP&debut='.$_GET['debut'].'"><b><u>Niveau</u></b></a></div></td>';
echo '</tr>'."\n";
$nb_affichage_par_page = 25;
// Préparation de la requête avec le LIMIT
$sql = 'SELECT name, class, level FROM Roster_members ORDER BY name ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table>
// on stocke dans $couleur la valeur retournée par l'appel de la fonction qui prend en paramètres $couleur1 et $couleur2
$couleur = alt_couleur($couleur1, $couleur2);
echo '<tr>';
echo '<td width ="150" height = "16" bgcolor="'.$couleur.'"><div class="membersGroup">'.stripslashes(htmlentities(trim($data['name']))).'</div></td>';
echo '<td width ="100" height = "16" bgcolor="'.$couleur.'"><div class="membersGroup">'.stripslashes(htmlentities(trim($data['dkp']))).'</div></td>';
//echo '<td height = "16" bgcolor="'.$couleur.'"><div class="membersGroup">'.stripslashes(htmlentities(trim($data['level']))).'</div></td>';
echo '</tr>'."\n";
//}
}
echo '</table>';
echo '</center>'."\n";
// fin du tableau
?>