Count php

Fermé
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013 - 20 août 2013 à 18:30
 Utilisateur anonyme - 22 août 2013 à 11:44
bonjour a tous ,

j'ai la table suivante dans ma base de données

id_con date_insc ip id_user

1 2013-08-11 # 1

2 2013-08-11 # 2

3 2013-07-10 # 35

4 2013-05-15 # 35

je veux afficher la listes de nom ,prenom ,date inscrisption de users dans la table avec le nombre de fois de user

exemple pour ma table je veux qu'il m'affiche :

nom prenom date_insc nombre

pierre dupont 2013-08-11 1

jacque darche 2013-08-11 1

diane leo 2013-07-10 2

voilà mon script:
<?php
 
// on pr?pare une requ?te SQL permettant de comdder le nombre de tuples (soit le nombre de clients connect?s au site) contenu dans la table
$sql = $dbh->prepare('SELECT distinct user.nom,user.prenom ,connectes.date_insc FROM connectes , user where connectes.user=user.id_user '); 
 
  
// on lance la requ?te SQL (mysql_query) et on affiche un message d'erreur si la requ?te ne se passait pas bien (or die)
$sql->execute() ; 
  
// on r?cup?re le nombre de tuples obtenus
echo'<table border=0>';
echo'<tr><td></td><td>Nom&Prénom</td><td></td><td>Date de dernière connexion </td><td>Nombre de fois</td></tr>';
echo '<img src="../images/user_group.png" width=50 height=50 align="middle">Liste de connectés: <br/> <br/>';
 
 
while($data = $sql->fetch())
{
echo'<tr><td><img src="../images/user_con.png"></td><td>';
echo '' , $data['prenom'] , ' .';
echo '' , $data['nom'] , ' </td>';
echo'<td></td><td>';
echo '' , $data['date_insc'] , ' </td><td>';
 
 
 
 
 
$fois= $dbh->prepare('select count(user) from connectes  GROUP BY user');
$fois->execute();
while($f=$fois->fetch())
{
echo"$f[0]";
}
}
echo'</tr>';
  ?>

par conséquent il m'affiche comme ça
nom prenom date_insc nombre
pierre dupont 2013-08-11 112
jacque darche 2013-08-11 112
diane leo 2013-07-10 112
quelqu'un peut aider? Merci
A voir également:

1 réponse

Utilisateur anonyme
22 août 2013 à 11:44
salut


Pour la première requête, rajoute le user_id :

$sql = $dbh->prepare('SELECT distinct user.id,user.nom,user.prenom ,connectes.date_insc FROM connectes , user where connectes.user=user.id_user '); 


et rajoute le dans la seconde :

$fois= $dbh->prepare('select count(user) from connectes where connectes.user=' . $data['id']);


histoire limiter à l'utilisateur courant et non à tous ^^. et du coup le group by, vu qu'il s'agit d'un count, n'a plus d'interet.

naga
0