[Php/Sql] Affichage du résultat d'un count.

Résolu
Bonjour,

J'ai cherché un petit bout de temps sans trouver de réponse à ce problème... Donc voilà :

Je travaille sur un site qui aide les étudiants à organiser des voyages à l'étranger, et je cherche à compter le nombre d'utilisateurs qui valident le fait qu'ils ont trouvé un logement avant la date de départ.

Pour ça :
- Je me sers de 2 tables différentes : 'SEJOUR' et 'ANNONCES_SAUVEGARDEES'. Les deux contiennent le champ 'id_sejour'.
- Dans la table 'ANNONCES_SAUVEGARDEES', il y a un champ 'VALIDE' qui contient la valeur '1' si le logement a été trouvé, et un champ 'DATE_VALIDATION' qui contient la date de validation du logement
- Dans la table 'SEJOUR', il y a la date de début du séjour dans le champ 'DATE_DEBUT'

Et je veux donc compter le nombre de séjours pour lesquels 'DATE_VALIDATION' est antérieure à 'DATE_DEBUT' pour ensuite en faire un pourcentage sur le nombre total de séjours.

Pour le moment, j'ai ça en code :

	<?php
		//Comptage du nombre de séjours validés dont la date de validation est avant la date de départ
			 $reponse = mysql_query('SELECT ALL, COUNT(*) AS nbrLignes FROM SEJOUR, ANNONCES_SAUVEGARDEES WHERE SEJOUR.ID_SEJOUR = ANNONCES_SAUVEGARDEES.ID_SEJOUR AND ANNONCES_SAUVEGARDEES.VALIDE = 1 AND SEJOUR.DATE_DEBUT > ANNONCES_SAUVEGARDEES.DATE_VALIDATION');
			 $data = $reponse->fetch();
			 

                        echo $data['nbrLignes'];
			 
			
		?>
		


Voilà ! Un peu d'aide serait la bienvenue.

Bonne journée !

2 réponses

  1. Bon, je viens de trouver quelque chose dans le fond du net...

    Je n'ai plus d'erreur, par contre rien ne s'affiche à l'endroit où c'est sensé s'afficher.

    Voici ce que j'ai maintenant :

    
    <?php
    		//Comptage du nombre de séjours validés dont la date de validation est avant la date de départ
    			 $reponse = mysql_query('SELECT COUNT(*) AS nbrLignes FROM SEJOUR, ANNONCES_SAUVEGARDEES WHERE SEJOUR.ID_SEJOUR = ANNONCES_SAUVEGARDEES.ID_SEJOUR AND ANNONCES_SAUVEGARDEES.VALIDE = 1 AND SEJOUR.DATE_DEBUT > ANNONCES_SAUVEGARDEES.DATE_VALIDATION');
    			 
    			 $rg2 = mysql_fetch_array($reponse) ; 
    			 $nbr = $rg2['COUNT(*)']; 
    			
    
                             echo $nbr;
    
    		?>
    		
    
    
    1. alors dans le premier exemple

      tu mélange 2 choses

      mysql_query('ta requete SQL');

      c'est la fonction standard

      et tu utilises ->fetch(); qui est du PDO

      donc çà ne peux pas marcher

      dans la seconde

      tu remplace fetch par mysql_fetch_array, c'est bien çà qu'il faut utiliser

      par contre $nbr = $rg2['COUNT(*)']; est faut et est à remplacer par

      $nbr = $rg2['nbrLignes '];
      1. Super ça marche ! Merci beaucoup !