begin process at 2010 02 10 08:58:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Afficher données de 2 tables dans un tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher données de 2 tables dans un tableau

samedi 26 août 2006 à 20:25:47 | Afficher données de 2 tables dans un tableau

Chewba

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
?>

lundi 28 août 2006 à 13:46:10 | Re : Afficher données de 2 tables dans un tableau

AlexN

cette requête :

select r.
name, class, level, DKP.tonchamp
from
Roster_members r
left outer join
DKP d on r.name= d.personnage limit 0,30

prend les lignes de la table
Roster_members et fait la jointure externe gauche avec la table DKP sur le champ name/personnage (et rajoute les lignes de la table Roster_members pour lesquels il n'a pas d'information correspondante dans la table DKP, elle met des NULL à la place)
lundi 28 août 2006 à 13:55:33 | Re : Afficher données de 2 tables dans un tableau

AlexN

pardon petite erreur :

select r.name, class, level, d.tonchamp
from
Roster_members r
left outer join
DKP d on r.name= d.personnage limit 0,30

à cause du surnommage de la table DKP.


Cette discussion est classée dans : table, données, mysql, sql, echo


Répondre à ce message

Sujets en rapport avec ce message

pb avec page administration [ par justine75 ] bonjour!voilà je souhaiterais creer une page administration qui permettrais de supprimer, ajouter ou modifier des elements de ma base de donnéesvoici problème avec chekbox [ par 01cod10 ] salut à tous,Un problème avec mes checkbox envoyés dans ma table. Un seul choix apparait dans ma table de plus je n'arrive pas à afficher les loisirs liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n passage de variables de form vers bdd mysql [ par arnold002 ] Bonjour,Mon problème n'avance pas...Mon form contient 2 champs select for($i<FONT color=#008000 s pb DELETE requete sql [ par kyript ] Bonjours à tous voila mon problème j'ai un script avec un formulaire qui met a jour une table de la bdd. A la fin de ce script j'ai un "include" su qqun peut regarder mon code ? [ par Teclis01 ] voil¨¤ en fait je cherche a calculer le tps total des appels de clients le probleme c est kil ne me fait que 1 appel par ligne et je comprends pas tro probleme d'envoi email [ par pietbrouwers ] quelqu'un peut-il me dire ce qui ne fonctionne pas dans le script suivant : je n'arrive pas a recevoir par mail  le contenu de la facture. voir la fin Probleme recuperation de l'id d'une table pour insérer dans une autre par la methode update [ par Alpha911 ] Bonjour,Je test plusieurs methodes pour pouvoir prendre l'id d'une table qui et la recopier dans une autre table j'ai 2 tables UTILISATEUR et une autr Problème Base Inconnu [ par Vin Gazoil ] Bonjour, j'ai une erreur dans le code suivant mais je n'arrive pas à la déterminé, j'y ai passé tout mon aprem hier. Voici le code :    #Variables


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales