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

Résolu
ReddInTheAbyss Messages postés 41 Statut Membre -  
ReddInTheAbyss Messages postés 41 Statut Membre -
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. maka54 Messages postés 721 Statut Membre 80
     
    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
    1. ReddInTheAbyss Messages postés 41 Statut Membre
       
      Super ça marche ! Merci beaucoup !
      0
  2. ReddInTheAbyss Messages postés 41 Statut Membre
     
    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;
    
    		?>
    		
    
    
    0