Bonjour,
J'aimerais afficher des enregistrements pour chaque jours de la semaine en cours. Voilà, étant débutant pour les fonctions de date, j'aimerais avoir des suggestions !
Merci!
Bonjour,
J'aimerais afficher des enregistrements pour chaque jours de la semaine en cours. Voilà, étant débutant pour les fonctions de date, j'aimerais avoir des suggestions !
Merci!
Pourriez-vous préciser ? Quel SGBD ? Sous quel format sont stockées ces dates ? Donnez éventuellement un exemple de ce que vous avez et ce que vous souhaiteriez obtenir.
En PHP : vous avez la fonction date pour laquelle le format w vous renvoie le jour de la semaine :
Exemple :Jour de la semaine au format numérique : 0 (pour dimanche) à 6 (pour samedi)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $jours = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); printf('Nous sommes %s', $jours[date('w')]); ?>
Merci pour la réponse rapide !
J'utilise $date = date("Y-m-d") pour stocker mes dates.
Ce que tu m'as donné (date('w')) va beaucoup m'aider. Existe-il une fonction pour tester que la date fait partie de la semaine en cours ?
Merci!
Avec MySQL, pour extraire les données d'une table où un champ date porte une date correspondant à la semaine courante :
(voir la documentation pour plus de renseignements notamment au niveau des différentes modes de calcul de la semaine).
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM ma_table WHERE WEEK(mon_champ_date, 3) = DATE_FORMAT(NOW(), '%v');
Avec PHP pour faire un contrôle :
(non testés)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function datefr_in_week($week, $date) { if (preg_match('!^(\d{1,2})([ /-])(\d{1,2})\2(\d{4})!', $date, $m)) { return date('W', mktime(0, 0, 0, $m[3], $m[1], $m[4])) == $week; } return FALSE; } function dateus_in_week($week, $date) { if (preg_match('!^(\d{4})([ /-])(\d{1,2})\2(\d{1,2})!', $date, $m)) { return date('W', mktime(0, 0, 0, $m[4], $m[3], $m[1])) == $week; } return FALSE; }
Super ça fonctionne !!!
Merci encore !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager