2013-03-07 5 views
0

Je travaille sur le système de gestion de présence en utilisant php et mysql. Je veux afficher le nombre total de fois qu'une personne passe moins de 9 heures par jour. timein et timout a été stocké dans la base de données. J'ai utilisé la requête:comparer le temps en utilisant sql query

SELECT * FROM presence 
WHERE 'timeout' - 'timein' < 9 AND uid=".$uid1[$i]." 
AND date BETWEEN'".$date1."' AND '".$date2."'"); 

echo "<td align='center'>".mysql_num_rows($recordset)."</td>"; 

$lateout1 = mysql_num_rows($recordset); 

Mais rien n'est affiché. S'il vous plaît aidez-moi à afficher le nombre de jours pour tous les utilisateurs passe moins de 9 heures par jour.

+0

Je ne suis pas sûr de php, mais vous ne pensez pas que vous devez mémoriser le résultat de votre requête dans recordset. –

+0

Bienvenue dans StackOverflow! ** [Veuillez formater votre code] (http://meta.stackexchange.com/q/22186) **. – peterm

+0

Quel est le type de données des colonnes 'timein' et' timeout'? Mieux encore publier l'instruction 'CREATE TABLE' pour la table' presence'. – peterm

Répondre

0

Essayez d'utiliser

select uid,count(uid) as no_of_days from presence 
where (time_to_sec(timediff(timeout, timein))/3600)<9 
and date> $date1 and date< $date2 
group by uid.