Fonction recherche date

Signaler
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
-
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010
-
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

Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

ps: pour les jours fériés je change manuellement mais je sais qu'il existe des scripts pouvant calculer automatiquement...
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
14
Bonjour,

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

Cordialement.

JC
Messages postés
12
Date d'inscription
vendredi 11 avril 2003
Statut
Membre
Dernière intervention
22 mars 2010

Ok y a t il un modo qui pourrait déplacer le sujet ?