Requête SQL avec PHP pour compter nombre de contrat
Résolu
BorderSool
-
BorderSool -
BorderSool -
Bonjour,
Comme vous pouvez le voir dans mon code, j'ai une page php nommée "typeContrat.php" sur cette page, je rentre mes types de contrats avec leurs tarifs. Mais j'aimerai voir le nombre de contrat associé à ce type de contrat. Pour être plus clair, j'ai une autre page php nommée "contratsClients.php" dans cette page j'associe mes contrats de typeContrat à mes clients. Imaginons que j'ai un contrat appelé "ASSISTANCE PC X01" et que ce contrat est associé à par exemple 6 clients, dans ma page typeContrat.php j'aimerai avoir dans mon tableau dans la ligne "ASSISTANCE PC X01" et dans la colonne Nb Contrat le chiffre 6.
Voici donc mon code de "typeContrat.php", j'ai rajouté le <?php echo count ($nbContrat)?> car c'est ce que j'aimerai avoir mais comme je n'arrive pas à coder ça :/
La base de donnée de la page "contratsClients.php" est 'listeContrats' et les noms de contrats sont 'nomContrat'. Merci :)
Comme vous pouvez le voir dans mon code, j'ai une page php nommée "typeContrat.php" sur cette page, je rentre mes types de contrats avec leurs tarifs. Mais j'aimerai voir le nombre de contrat associé à ce type de contrat. Pour être plus clair, j'ai une autre page php nommée "contratsClients.php" dans cette page j'associe mes contrats de typeContrat à mes clients. Imaginons que j'ai un contrat appelé "ASSISTANCE PC X01" et que ce contrat est associé à par exemple 6 clients, dans ma page typeContrat.php j'aimerai avoir dans mon tableau dans la ligne "ASSISTANCE PC X01" et dans la colonne Nb Contrat le chiffre 6.
Voici donc mon code de "typeContrat.php", j'ai rajouté le <?php echo count ($nbContrat)?> car c'est ce que j'aimerai avoir mais comme je n'arrive pas à coder ça :/
<?php
$stmt = $pdo->prepare('SELECT * from typecontrat order by nom ASC');
$stmt->execute();
$resu=$stmt->fetchALL();
?>
<table>
<tr>
<th>Nom</th>
<th>Tarif<th>
<th>Nb Contrat</th>
</tr>
<?php
foreach ($resu as $res)
{
?>
<tr class="trlist">
<td style="width:300px; text-align:left;"><a href="modifierTypeContrat.php?id=<?php echo $res['id']?>"><?php echo $res['nom']?></a></td>
<td style="width:200px; text-align:left;"><?php echo $res['tarif']?></td>
<td style="width:200px; text-align:left;"><?php echo count ($nbContrat)?></td>
</tr>
<?php
}
?>
</table>
La base de donnée de la page "contratsClients.php" est 'listeContrats' et les noms de contrats sont 'nomContrat'. Merci :)
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
il serait utile que tu décrives les tables de ta base de données: liste des tables, liste des champs par table.
essaie ceci:select t.id as id, t.nom as nom, t.tarif as tarif, count(*) as nbcontrats from typecontrat as t, listeContrats as l where t.nom = l.nomContrat group by t.id, t.nom, t.tarif order by t.nom
tu devrais retrouver le compteur dans$res['nbcontrats']