Coucou,
Si je comprendre bien, dans ta requête, tu demande les enregistrements dont le debut = aujourd'hui et la fin = aujourd'hui.
En effet, tu déclare la variable $date = date("Y-m-d" ); Cette fonction t’écris la date au format 2012-01-18. Ça correspond bien au format de la base de donnée.
Cependant, je pense qu'il ne peu y avoir de période (dans ton concept) ou le début, la fin et aujourd'hui ai la même valeurs. Au pire des cas, il pourrait y avoir plusieurs possibilité.
Je ne vois pas de Mysql_fetch_array(); dans ton code. Est-ce normal. Même si le résultat est unique, il y a plusieurs champs (SELECT *) donc le résultat est sous forme de tableau
Autre chose, j'ai testé une requete pour savoir si les opérateurs <= et >= fonctionnait avec les dates. J'avais 3 dates: 2012-01-18, 2012-01-19 et 2012-01-20, lorsque je demandais > à 2012-01-18, j'avais les trois champs qui s'affichait. Je ne pense pas que l'on puisse utiliser les opérateurs logique avec les dates.
Pour pallier à celà, tu peut utiliser le BETWEEN ou IN.
Avant d'aller je vais attendre ta réponse concernant le fait que début, ajdh et fin aient la même valeur.
De plus j'aimerais comprendre plus largement le fonctionnement de ton script. A l'insertion de l'enregistrement, quel sont les données enregistré. J'imagine que le début est renseigné avec la date : YYYY-MM-JJ, le champ fin n'est pas remplis.
Moi j'ai un programme ou j'enregistre toutes les connexions des sessions utilisateur en base de donnée via un script à l'ouverture de session.
L'enregistrement s'effectue ainsi: (c'est une requête mysql en bat faisant appel à l'application mysql.exe qu préalablement mise dans le system32)
Code :
- mysql -h 192.168.0.11 -u ***n -p*** -e "use logregistry; INSERT INTO logregistry VALUES('NULL','%USERNAME%','%COMPUTERNAME%','%ip%','%DATE% - %TIME%', 'N/A')"
|
Pour la fermeture de session on à ceci:
Code :
- mysql -h 192.168.0.11 -u *** -p*** -e "use logregistry; SET @ID = (SELECT MAX(ID) FROM Logregistry WHERE Username='%USERNAME%' AND Computername ='%COMPUTERNAME%' AND Logoff='N/A'); UPDATE logregistry SET Logoff='%DATE% - %TIME%' WHERE ID=@ID;
|
Il met à jour l'information de l'utilisateur à l'aide de son nom d'utilisateur et à l'aide de 'N/A' qui veut dire chez moi que la session est toujours active. Il peut y avoir plusieurs 'N/A' pour un utilisateur, mais dans la majorité des cas, les utilisateur n'ouvrent pas plusieurs sessions en même temps. Si jamais la session à buggé, l'utilisateur quand il se connecte plus tard, créer un nouvelle enregistrement et mettra à jour la dernière entrée. Ainsi j'ai également un visuelle sur les bugs de session.
j'attend des nouvelles. Hésite pas à me MP, voir même m'envoyer des mails ici: neo-blaster@hotmail.fr afin de mieu cerné le problème !!