Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2011, 12h50   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 51
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 51
Points : 13
Points : 13
Envoyer un message via Skype™ à Chedi
Par défaut requête count ()

bonjour à tous,

après une longue recherche sur des différents sites je trouve pas une solution à mon problème et comme je suis inscris ici alors j’espère que je trouve la solution


donc je m'explique, j'ai une table qui s'appelle "partage", cette table là contient quelques champs( mat, tel,...) , ce qui m’intéresse sur cette table c'est que je veux savoir le nombre de tel répété pour chaque Matricule de client qui le met dans un tableau qui contient 3 TD comme suit

matricule Tel Nombre de tel répété
1198 55000000 2


je met le code de la page :

RDV.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include ('../../config/_cnx.php') ;
 
con();
if(isset($_GET['p']) or isset($_GET['w']))
{
$x=$_GET['p'];
$w=$_GET['w'];
}
 
$sql="SELECT Matricule,Tel FROM partage where Matricule='".$x."'";
$r=mysql_query($sql) or die("Erreur SQL : ".mysql_error());
echo"<table border=1 width=100%>";
 echo"<tr><td>Matricule</td><td>Tel</td></tr>";
while ( $ligne=mysql_fetch_array($r)) {
	echo'<tr><td>'.$ligne['Matricule'].'</td><td>'.$ligne['Tel'].'</td></tr>';
 
}
?>
là il va m'afficher ce tableau là

matricule Tel
1198 550000000
1198 123456789
1198 550000000
1198 123456789
1198 550000000
1198 123456789
1198 123456789


là j'ai 5500000 qui se répéte 3 fois et 123456789 qui se répéte 4 fois.

je veux un code qui m'affiche ça

matricule Tel NBR
1198 550000000 3
1198 123456789 4



d'après ce que j'ai vu sur les sites il faut utiliser la requête cout ()

je serais très renaissant si quelqu'un m'aide sinon merci pour avoir lu mon sujet
Chedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h29   #2
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2006
Messages : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Essaye de rajouter ca dans ta boucle while :

Code :
1
2
 
$nbTels = mysql_query('SELECT COUNT(1) AS nbTels FROM partage WHERE Matricule = "' . $ligne['Matricule'] . '" AND Tel = "' . $ligne['Tel'] . '"');
Ca devrait te donner le nombre d'occurrences correspondant au couple matricule / tel, par contre ce n'est pas super optimisé, donc si tu a une grosse liste de matricule il vaut mieux ne pas mettre de requête dans la boucle while et utilisé une requête un peu plus poussée qui te met tout dans un tableau
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h39   #3
Membre expérimenté
 
Avatar de amoiraud
 
Homme Adrien
Développeur Web
Inscription : octobre 2006
Messages : 405
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2006
Messages : 405
Points : 531
Points : 531
Envoyer un message via MSN à amoiraud
Citation:
Envoyé par gene69 Voir le message
non ce que tu semble vouloir ce n'est pas le nombre d'occurrence, c'est ne pas afficher les enregistrements en double.

Code :
1
2
3
SELECT DISTINCT matricule,telephone
FROM tatable
WHERE tacondition = :valeur
Non il veut pouvoir afficher le nombre d'occurences de tel pour chaque matricule :

Citation:
je veux un code qui m'affiche ça

matricule Tel NBR
1198 550000000 3
1198 123456789 4
Sinon il faudra effectivement utiliser un DISTINCT
amoiraud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h40   #4
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
Code :
1
2
3
4
SELECT matricule, telephone, count(*) as cpt
FROM tatable
WHERE mesconditions = :mes_valeurs
GROUP BY matricule, telephone
++++
dsl j'avais mal lu... c'est pour ça que j'ai effacer le message.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2011, 09h27   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 51
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 51
Points : 13
Points : 13
Envoyer un message via Skype™ à Chedi
Merci à vous tous pour vos réponses ça marche nikel
Chedi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web