Bonjour,
je dois me tromper dans mon analyse.
en gros:
ma table famille contient le paramétrage de chaque famille avec leur image.
ma table type contient le paramétrage de chaque type avec leur image.
ma table listank contient la liste des tanks avec leur image
Ce que je veux faire c'est :
Quand j'appel l'affichage de la liste des tans, je veux faire afficher les images du type et de la famille
puisque dans la table listtank j'ai idtype et idfam.
j'ai essayer avec foreach mais je n'y arrive pas non plus.
je ne sais pas si j'ai été assez clair.
table 1
$dbtabfam = $db->query('SELECT * FROM aw_famille_tank');
# Nom Type Interclassement Attributs Null Défaut Extra
1 idfam int(11) UNSIGNED Non Aucune AUTO_INCREMENT
2 nom_fam varchar(10) latin1_general_ci Non Aucune
3 coul_fam varchar(6) latin1_general_ci Non Aucune
4 log_fam varchar(100)latin1_general_ci
table 2
$dbtabtype = $db->query('SELECT * FROM aw_type_tank');
# Nom Type Interclassement Attributs Null Défaut Extra
1 idtype int(11) Non Aucune AUTO_INCREMENT
2 nomtype varchar(10) latin1_general_ci Oui NULL
3 logtype varchar(100)latin1_general_ci Oui NULL
table 3
$dbtablistank = $db->query('SELECT * FROM aw_liste_tank');
# Nom Type Interclassement Attributs Null Défaut Extra
1 idtank int(11) Non Aucune AUTO_INCREMENT
2 nomtank varchar(50) latin1_general_ci Non Aucune
3 rangtank int(2) Non Aucune
4 idtype int(11) Non Aucune
5 logtank varchar(100)latin1_general_ci Non Aucune
6 idfam int(11) Non Aucune
7 cartank varchar(1) latin1_general_ci Non Aucune
j'ai ma première ligne qui s'affiche bien mais pas les autres.
Qu'est ce que j'oublie de faire ?
ou qu'est ce que je fais mal ?
include('../config/configsql.php');
/* Acces à la base de données */
try
{
$db = new PDO('mysql:host='.HOST.';dbname='.DB_NAME.';charset=utf8', ''.ROOT.'',''.MDPASS.'');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
print "Erreur de conenxion, désolé: " . $e->getMessage() ; die();
}
/* lecture des tables de la base de données des types de tank*/
$dbtablistank = $db->query('SELECT * FROM aw_liste_tank');
$dbtabtype = $db->query('SELECT * FROM aw_type_tank');
$dbtabfam = $db->query('SELECT * FROM aw_famille_tank');
?>
<table border=1 cellspacing=0 cellpadding=0 width=50%>
<caption> Liste de tank Armored</caption>
<tr valign=middle>
<th align=center>ID</th>
<th align=center>NOM</th>
<th align=center>RANG</th>
<th align=center>TYPE</th>
<th align=center>LOGO</th>
<th align=center>ID FAM</th>
<th align=center>CARACTERISTIQUE</th>
</tr>
<?php
// On affiche chaque entrée du tableau fammille de tank une à une
while ($tablistank = $dbtablistank->fetch() )
{
?>
<tr valign=middle>
<td align=center><?php echo $tablistank['idtank']; ?></td>
<td align=center><?php echo $tablistank['nomtank']; ?></td>
<td align=center><?php echo $tablistank['rangtank']; ?></td>
<td align=center>
<?php
while ($tabtype = $dbtabtype->fetch())
{
if ($tablistank['idtype'] == $tabtype['idtype'])
{
$imagetype="../../images/".$tabtype['logtype'];
echo $tabtype['nomtype']." ";
echo '<img src="'.$imagetype.'" alt="" />';
}
}
$dbtabtype->closeCursor();
?>
</td>
<td align=center>
<?php
$imagetank="../../images/".$tablistank['logtank'];
echo '<img src="'.$imagetank.'" alt="" />';
?>
</td>
<td align=center>
<?php
while ($tabfam = $dbtabfam->fetch())
{
if ($tablistank['idfam'] == $tabfam['idfam'])
{
$imagefam="../../images/".$tabfam['log_fam'];
echo '<img src="'.$imagefam.'" alt="" />';
}
}
$dbtabfam->closeCursor();
?>
</td>
<td align=center><?php echo $tablistank['cartank']; ?></td>
</tr>
<?php
}
?>
</table>
merci de pour votre aide.
bien à vous!