Page 1 sur 1

Recherche en fonction de la date

Posté : 25 avr. 2006, 15:02
par PsykoCors
Bonjour,

J'ai un soucis pour afficher des données provenant d'un BDD. Il s'agit d'un site d'un club de sport.

En fait, je cherche à recupérer le nom de la derniere rencontre ainsi que son score.

Dans ma base de données, toutes les rencontres sont enregistrées, jouées ou non, avec la date du match , et, si le match est joué, le score.

Je met donc dans une variable la date actuelle, dans le but de la comparer avec les dates de la BDD, et de récupéré la derniere date avant la date actuelle. Je fait donc :
$date_actuelle = date("Y-m-d"); 
$sql = "SELECT rencontre, score, date_rencontre FROM `calendrier`  WHERE $date_actuelle > DATE(date_rencontre) ORDER BY date_rencontre DESC LIMIT 1";
Mais ca ne me renvoi rien (et pas d'erreurs signalées) ...

Merci de m'aider :D :cry:

edit : merde, c'est pas en changeant le titre du message qu'on met resolu^^ lol

Posté : 25 avr. 2006, 15:27
par jojolapine
essaye un echo $sql pour voir?
et puis tu récupères ce que ça affiche et tu tests dans phpmyadmin...
tu verras bien si ya une erreur, car php ne gère pas les erreurs de mysql

Posté : 25 avr. 2006, 17:06
par Invité
Lorsque je fais :
$sql = "SELECT rencontre, score, date_rencontre FROM `calendrier`  WHERE $date_actuelle < DATE(date_rencontre) ORDER BY date_rencontre DESC LIMIT 1";
Celui ci m'affiche un résultat (au passage pas le bon dans la logique ...), donc il n'y a pas d'erreur d'SQL.

Au passage si quelqu'un avait quelque chose a me proposer pour effectuer ce je désire, je lui serais reconnaissant ! :wink:

Posté : 25 avr. 2006, 21:54
par Truc
car php ne gère pas les erreurs de mysql
et mysql_error() ou encore mysql_errno() ?!
Mais ca ne me renvoi rien (et pas d'erreurs signalées) ...
Celui ci m'affiche un résultat (au passage pas le bon dans la logique ...), donc il n'y a pas d'erreur d'SQL.
et donc ça fonctionne ou pas pour en finir ?
$sql = "SELECT rencontre, score, date_rencontre FROM `calendrier`  WHERE score IS NOT NULL ORDER BY date_rencontre DESC LIMIT 1";
si la valeur des scores qui n'ont pas été joués est "null"

Posté : 26 avr. 2006, 09:27
par PsykoCors
Non, je n'y suis toujours pas arrivé ... (je mettais lancé sur la charte graphique mais ca gave vite le graphisme :p)

Quand je fais avec un
IS NOT NULL
sur score ca ne marche pas, il ne me le prend pas en compte ! Il m'affiche aussi bien les match joué que non joué ...

Je pense qu'il faut que je creuse dans ce sens, la logique champ vide (ou non) et un tri en fonction de la date permettrai facilement de recupérer les données que je veux ... mais je vois pas pourquoi ca ne marche pas : (

J'avoue que je suis un peu perdu et je ne sais pas quoi faire pour faire fonctionner ma requête correctement. :cry:

Posté : 26 avr. 2006, 11:33
par PsykoCors
J'ai réussi mais j'aime pas trop la requête quand même ... Je done la solus :

affichage de la derniere rencontre :
<? $sql = "SELECT rencontre, score, date_rencontre FROM `calendrier`  WHERE score !='' ORDER BY date_rencontre DESC LIMIT 1"; ?>
Affichage de la prochaine rencontre :
<? $sql = "SELECT rencontre, score, date_rencontre FROM `calendrier`  WHERE score ='' ORDER BY date_rencontre  LIMIT 1"; ?>
A notrer que j'aurais pu mettre ce sujet dans la parti SQL, mais je pensais a la base qu'il y aurait des choses à faire avec la fonction "date" ou autre. :P