Rechercher : dans
Par :

[PHP]La date d'un jour de la semaine en cours

Dernière réponse le 20 oct 2009 à 10:55:16 Doywan, le 20 oct 2009 à 01:36:37 
 Signaler ce message aux modérateurs

Bonjour,

Je vais détailler un peu plus, j'ai besoin d'arriver à déterminer la date du vendredi, du samedi et du dimanche de la semaine en cours.

Je souhaite comparer ces trois dates à une autre et si la quatrième date est = à l'une des trois premières cela m'affiche les articles correspondant.
Mais pour éviter de sortir tout les articles dont la date tombe un vendredi, un samedi ou un dimanche dans l'année, je dois donc restreindre l'action à la semaine en cours.

Seulement ça deviens un peu complexe pour moi à ce niveau là, quelqu'un saurait il m'aider ?


Merci d 'avance,


Doywan

Configuration: Windows 7
Firefox 3.5.3

Meilleures réponses pour « [PHP]La date d'un jour de la semaine en cours » dans :
Mktime() - Timestamp classiques (hier, mois dernier, etc.) VoirLa fonction mktime() permet de retourner le timestamp UNIX d'une date donnée, c'est-à-dire le nombre de secondes écoulées entre le 1er janvier 1970 et la date en question. Toutefois, dans son utilisation courante, il est généralement nécessaire de...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...
VBScript - Les fonctions de date et de temps VoirLes fonctions de date et de temps Fonction Description Date Retourne la date du système DateAdd(interval, number, date) Ajoute un intervalle de temps (interval) à une...

1

lewis34, le 20 oct 2009 à 06:39:23

Je verrais un truc comme ça :
si tes articles sont entrés avec des dates tu cherche le numéro de la semaine des ces articles, puis ensuite tu recupere le N° de la semaine en cours.

une fois fait tu met en tableau tous tes articles qui on le meme N° de semaine que celle en cours et dont le jours =0 (dimanche) 6 samedi 5 vendredi

il faudra utiliser les fonctions date de php

$semaine_encours=date('W');//semaine actuelle
$jour_valide=array(0, 5, 6 ); //tableau correspondant au jours vendredi samedi dimanche

ensuite suivant le format dans lequel sont enregistré tes dates dans ta BD (l'ideal c'est un timestamp) tu fait une boucle sur tous tes articles

$date_article=getdate($ladate_detonarticle_entimestamp);//re­tourne un array
$semaine_article=('W',$ladate_detonarticle_entimestamp);//ca­lcul du N° de semaine de l'article
if($semaine_article== $semaine_encours && in_array($date_article['wday'],$jour_valide)
{
//c'est bon
}


voila une piste j'ai pas testé le code, mais c'est le principe

Répondre à lewis34

2

 Alain_42, le 20 oct 2009 à 10:55:16
  • +1

Voici un petit script avec une fonction qui va te sortir un array des jours de la semaine en cours ( avec un format de date adaptable)

il te suffira de faire une requette dans ta base avec

" SELECT * FROM ta_table WHERE date='".date_vendredi."' OR date='".date_samedi."' ORdate='".date_dimanche."'"


<html>
<?php
//fonction generation dates semaine complete en cours
function dates_semaine($timestamp_aujourdhui){
	$num_jour_sem=date("w",$timestamp_aujourdhui); // renvoie le numero du jour dans la semaine (0=dimanche, 1=lundi........)
	if($num_jour_sem==0){ $num_jour_sem=7; } // si dimanche on change le 0 par 7
	$timestamp_1_jour=3600*24;
	//generation de l'array des dates des 7 jours de la semaine donc a la numerotation française
	for($j=1;$j<=7;$j++){
		$timestamp_jour_sem=$timestamp_aujourdhui-(($num_jour_sem - $j)*$timestamp_1_jour);
		//on construit l'array pour la reponse:
		//a ce niveau la tu peux modifier le format de la date pour l'adapter a celui de ta base
		//$array_sem[$j]=date("d/m/Y",$timestamp_jour_sem); //au format français
		$array_sem[$j]=date("Ymd",$timestamp_jour_sem); //au format mysql
	}
return $array_sem;
}
?>
<body>
<form name="form1" method="post" action="dates_semaine_en_cours.php">
Cliquer sur Ok pour lancer le script   
<input type="Submit" name="envoyer" value="Ok" />
</form>
<br /><br />

<?php
if(isset($_POST['envoyer'])){
	$array_dates=dates_semaine(mktime()); //appel fonction qui va retourner l'array contenant les dates de la semaine en cours
	//affichage du resultat
	echo "<b>R&eacute;sultat pour la semaine</b><br />";
	for($j=1;$j<=sizeof($array_dates);$j++){
		echo $array_dates[$j]."<br />";
	}
	echo "<br /><br /><b>soit pour le vendredi samedi dimanche:</b><br />";
	echo 'Vendredi: '.$array_dates[5].'<br />';
	echo 'Samedi: '.$array_dates[6].'<br />';
	echo 'Dimanche: '.$array_dates[7].'<br />';
}
?>
</body>
</html>

Répondre à Alain_42
Collection CommentÇaMarche.net