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

Résolu/Fermé
ReddInTheAbyss
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013
- 28 sept. 2012 à 08:11
ReddInTheAbyss
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013
- 28 sept. 2012 à 09:16
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

maka54
Messages postés
699
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
28 sept. 2012 à 09:04
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
ReddInTheAbyss
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

28 sept. 2012 à 09:16
Super ça marche ! Merci beaucoup !
0
ReddInTheAbyss
Messages postés
30
Date d'inscription
vendredi 28 septembre 2012
Statut
Membre
Dernière intervention
5 février 2013

28 sept. 2012 à 08:21
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