je suis en php 5.6.31
je viens vous demander de l'aide. j'ai un code qui normalement devrait me donner le nombre "2" mais il me donne "4" et je ne sais pas pourquoi. Je pense qu'il doit y avoir une erreur. La recherche dans la base de données est sur plusieurs tables. voici le code :
merci d'avance à ceux qui trouverons la solution.
Code : Tout sélectionner
<?php
//inclusion des parametres de connection
include("connex_inc.php");
//Connection avec la BDD.
mysql_connect(MYHOST,MYUSER,MYPASS)or die ('Connexion impossible au serveur :'.mysql_error());
mysql_select_db(MYBDD)or die ('Connexion impossible a la base :'.mysql_error());
//***********LEGION D'HONNEUR**********************************************************************
$reponce = mysql_query("SELECT `a`.nom_adh FROM `galette_adherents` AS `a`
INNER JOIN `galette_statuts` AS `p` ON `a`.`id_statut`=`p`.`id_statut`
LEFT JOIN `galette_cotisations` AS `ct` ON `ct`.`id_adh`=`a`.`id_adh`
LEFT JOIN (SELECT `df`.`item_id` AS `item_id`, `df`.`field_val` AS `val` FROM `galette_dynamic_fields` AS `df`
WHERE df.field_form = 'adh' AND df.field_id = 21) AS `df21` ON `a`.`id_adh` = `df21`.`item_id`
WHERE LOWER(df21.val) = '1'
ORDER BY `nom_adh` ASC, `prenom_adh` ASC
LIMIT 200 OFFSET 0");
//***ici, on compte .
$query = "SELECT count(nom_adh) from `galette_adherents` AS `a`
INNER JOIN `galette_statuts` AS `p` ON `a`.`id_statut`=`p`.`id_statut`
LEFT JOIN `galette_cotisations` AS `ct` ON `ct`.`id_adh`=`a`.`id_adh`
LEFT JOIN (SELECT `df`.`item_id` AS `item_id`, `df`.`field_val` AS `val` FROM `galette_dynamic_fields` AS `df`
WHERE df.field_form = 'adh' AND df.field_id = 21) AS `df21` ON `a`.`id_adh` = `df21`.`item_id`
WHERE LOWER(df21.val) = '1'";
$result = mysql_query($query) or die (mysql_error());
//**on affiche le résultat***
$resultat=mysql_fetch_row($result);
echo "<h3> $resultat[0] Adhérent(s) avec la légion d'honneur</h3>";