Fonction recherche date

Eyeron Messages postés 12 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 22 mars 2010 - 9 févr. 2010 à 18:47
Eyeron Messages postés 12 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 22 mars 2010 - 10 févr. 2010 à 17:47
Bonjour,

Je souhaite rechercher dans ma bdd tous les enregistrements datant de x jours.

Je m'explique: j'ai une base de données avec des valeurs qui changent tous les jours, je souhaite obtenir par exemple tous les enregistrements des 10, 20 ou 50 derniers jours sans les week end et les jours fériés, sachant que plusieurs valeurs journalières peuvent être présentes dans la base de données et que je ne souhaite afficher que les dernières de chaque jour.

Je ne sais absolument pas comment faire. J'ai essayé pour les 10 derniers jours avec if la date du jour et mktime mais je pense qu'il y a une solution beaucoup plus efficace...

function val($valeur_r,$date_debut_r,$date_fin_r) {
$valeur1= mysql_query("SELECT valeur FROM `valeurs` WHERE nom='".$valeur_r."' AND (date BETWEEN '".$date_debut_r."' AND '".$date_fin_r."') ORDER BY date DESC LIMIT 0,1 ");
$valeur2=mysql_fetch_array($valeur1);
$valeur=$valeur2[0];
return $valeur;
}

<?php

...je déclare le jour, le mois et l'année du jour...

$j1_lettre =date("l", mktime(0,0,0,$mois,$jour,$annee));
if ($j1_lettre == 'Monday' )
{
$fin_j3=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-4,$annee));
$valeurj3=val($nom,'1970-01-01',$fin_j3);

$fin_j4=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-5,$annee));
$valeurj4=val($nom,'1970-01-01',$fin_j4);

$fin_j5=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-6,$annee));
$valeurj5=val($nom,'1970-01-01',$fin_j5);

$fin_j6=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-7,$annee));
$valeurj6=val($nom,'1970-01-01',$fin_j6);

$fin_j7=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-10,$annee));
$valeurj7=val($nom,'1970-01-01',$fin_j7);

$fin_j8=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-11,$annee));
$valeurj8=val($nom,'1970-01-01',$fin_j8);

$fin_j9=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-12,$annee));
$valeurj9=val($nom,'1970-01-01',$fin_j9);

$fin_j10=date('Y-m-d H:i:s',mktime(23,59,59,$mois,$jour-13,$annee));
$valeurj10=val($nom,'1970-01-01',$fin_j10);
}

et ainsi de suite pour tous les jours !!!

3 réponses

Eyeron Messages postés 12 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 22 mars 2010
9 févr. 2010 à 18:52
ps: pour les jours fériés je change manuellement mais je sais qu'il existe des scripts pouvant calculer automatiquement...
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
10 févr. 2010 à 06:19
Bonjour,

Aucun rapport avec javascript tout ça.
Tu n'est pas dans le bon forum.

Cordialement.

JC
0
Eyeron Messages postés 12 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 22 mars 2010
10 févr. 2010 à 17:47
Ok y a t il un modo qui pourrait déplacer le sujet ?
0
Rejoignez-nous