Date dans un tableau

titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004 - 13 févr. 2004 à 10:24
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004 - 16 févr. 2004 à 12:02
kikou!!!

j'ai une liste déroulante semaine créée a partir des données de la base
et j'ai un tableau avec les jours
je voudrais savoir comment on fait, une fois que l'on a saisie la semaine, ca affiche par exemple pour la semaine du 16/02/2004 au 22/02/2004 ca m'affichera lundi 16, mardi 17, mercredi 18 etc... dans mon tableau

voici mon tableau des jours:

$jour = array ('Lundi' , 'Mardi' , 'Mercredi' , 'Jeudi' , 'Vendredi', 'Samedi', 'Dimanche');
echo"<tr align="center">
<td width="400"> </td>";

//permet d'afficher la ligne des jours
for($i=0; $i<7; $i++)
{
echo" <td colspan="2">".$jour[$i]."</td>";
}
echo" </tr> ";

et ma requête pour la liste déroulante:

$req = mysql_query ("SELECT semaine,
concat(substring(du,9,2) ,'-',substring(du,6,2),'-',substring(du,1,4)) as nouveaudu,
concat(substring(au,9,2) ,'-',substring(au,6,2),'-',substring(au,1,4)) as nouveauau
FROM temps");

merci pour votre aide a venir! ;-)

21 réponses

titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 10:25
est-ce qu'il faut faire un truc du genre:

$date = mktime(...) : pour faire la date

et

date("W", $date) pour avoir la date quelque part...

???
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 10:33
une fois que l'on a saisie la semaine -> tu la selctionne comment au juste ?
elle est sous quel format ?
dans ta bdd sous quel format c stocké ?

niarf :-p
0
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 10:40
ben on la saisie dans la liste déroulante!!
sur le formulaire elle est en francais grace a la requête que j'ai mise et dans ma base elle est en format "yyyy-mm-dd"

voila!
c'est clair ou pas?
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 10:45
en francais sa veut dire ecrit comment ? donne un exemple !
niarf :-p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 10:50
oki!!

dans ma liste déroulante on a par exemple:

16-02-2004>22-02-2004

et voila!!

tandis que dans la base c'est écrit comme ceci:

2004-02-16
2004-02-22
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 11:08
<?
$chaine="2004-02-16";//date de bdd
$jour=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");//jour en francais
$tab=explode("-",$chaine);//on separe chaque element de la date
echo $jour[date("w", mktime(0,0,0,$tab[1],$tab[2],$tab[0]))]." ".date("d", mktime(0,0,0,$tab[1],$tab[2],$tab[0]));
?>

ce code t'ecit lundi 16

donc maintenant a toi de le modifier pour ton truc !
niarf :-p
0
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 11:50
euh ouaip...
pourkoi tu as mis dimanche en premier?
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 11:56
$jour[date("w", mktime(0,0,0,$tab[1],$tab[2],$tab[0]))]

parce que ce truc quand il renvoi 0 c dimanche donc dans le tableau celui qui a un indice 0 doit etre dimanche mais c pas bien grave sa change pas grand chose !
niarf :-p
0
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 12:42
ben si ca change tout dans ma base!!!

j'ai mis les jours a partir du lundi!!
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 13:41
mais ca change rien !
dans ta liste déroulante pour le choix : 16-02-04>21-02-04 tu met dans le value de l'option 16-02-04 et quand tu genere le tableau : tu fais pour la case 1 (lundi) cette formule sur cette value pour la case mardi tu fais cette date +1 (ne verifiant que c une date valide avec check date sinon moi s+1 sinon annee + 1 !!)
enfin faut avoir un peu d'imagination tout de meme ! on a l'impression que tu reflechi plus !
niarf :-p
0
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
13 févr. 2004 à 14:07
ben si je réfléchi!!mais je ne comprends rien a ton charabia!!

ce que je voudrais c'est juste afficher lundi 16 par exemple et tu me parles des mois et des années!

et t'inquiète, de l'imagination, j'en ai! :big)
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 14:16
ben oui parce que la premiere case c lundi 16 ensuite la case deux c mardi 16+1 ...

mais si jamais tu fais un 31+1 ben tu tomb e sur un 32 donc les fonctions de date vont merder donc faut que tu fasse 1 et mois +1 dans date !
c pas compliqué a comprendre tt de meme !

niarf :-p
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
13 févr. 2004 à 14:24
lol keep cool ... ;-)

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 14:30
ouai cool m'enfin bon voila !!
niarf :-p
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
13 févr. 2004 à 15:03
oki..
alors on va y aller doucement...

bon alors toi tu recuperes de date: la date du début et la date de fin de semaine ok?
on va dire:
$datedebut="2004-29-01"; ->c un jeudi
$datefin="2004-02-06"; -> c le jeudi suivant.

toi tu veux un truc qui te mette: "jeudi 29, vendredi30, samedi 31, dimanche 01,.., jeudi 06". (là j'ai commencé par un jeudi mais c pas grave, ça peut etre un lundi!).

la premiere chose a faire, c'est savoir à quel jour correspond ta date du debut. pour cela, comme le dit fmazoue, tu dois d'aboir definir les jours:
$jour=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
ensuite tu voudrais savoir à quel jour correspond le 29/01/2004, donc tu fais:

$tab=explode("-",$chaine);
echo $jour[date("w", mktime(0,0,0,$tab[1],$tab[2],$tab[0]))]." ".date("d", mktime(0,0,0,$tab[1],$tab[2],$tab[0]));
et là il te sors jeudi 29.

pour avoir le reste des jours, il va faloir passer à la date suivant: on augmente le jour de 1:

tab[2]=tab[2]+1;
on verifie si la date est valide (du genre à pas avoir du 2004-01-32 car le 32 janvier n'existe pas..):
$valid=checkdate(tab[1],tab[2],tab[0]);
la si $valid vaut "true", c'est que la date est valide, on peut donc affichier le jour suivant:
echo $jour[date("w", mktime(0,0,0,$tab[1],$tab[2],$tab[0]))]." ".date("d", mktime(0,0,0,$tab[1],$tab[2],$tab[0]));

par contre si valid vaut "false", c'est que la date n'est pas valide, il faut donc passer au mois suivant:
if(tab[1]<12)
{
tab[1]++ // là c'est si on le mois n'etais pas "decembre"
}
else //si c decembre
{
tab[0]=tab[0]+1 //on augmente d'une année
tab[1]=1 // on se met au mois de janvier
tab[2]=1 on se met le premier
}
on peut ensuite aficher le prochain jour :

$jour[date("w", mktime(0,0,0,$tab[1],$tab[2],$tab[0]))]." ".date("d", mktime(0,0,0,$tab[1],$tab[2],$tab[0]));

et voilà..y'a plus qu'à mettre tout ça dans un boucle pour verifier qu'on ne depasse pas la date de fin (ou alors faire un compteur sur le nombre de jour qu'on doit afficher...)

y'a certainement des fautes dans ce que j'ai marqué, mais c'et pour t'expliquer l'idée un peu + en details..

-----------------
--------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 15:07
oh bravo davwart : moi j'avais trop la flem de faire le script mais bravo ! j'espere que titigrou comprendra !
niarf :-p
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
13 févr. 2004 à 15:10
lol merci..j'ai senti que tu allais explosé :-p

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
fmazoue Messages postés 335 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 1 septembre 2015 1
13 févr. 2004 à 15:15
ben un peu ouai ! ce qu'il y a c que j'ai l'impression qu'elle cherche pas beaucoup ! parce que là elle est en stage donc normalement elle doit apprendre hors là elle demande tout !

je sais pas avant de faire un stage en php faut avoir appris un minimum ! t'achete un petit bouquin de php a 9?50 et tu complete par des tutoriaux sur internet ...
niarf :-p
0
titigrou Messages postés 111 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 4 mars 2004
16 févr. 2004 à 11:36
j'ai appris le minimum!!!
hors la je demande de l'aide sur quelque chose que je ne comprends pas!!
je n'arrive pas a maîtriser les tableaux!c'est mon point faible et j'y suis pour rien!
et j'ai regardé les tutoriaux sur internet et il n'y en a aucun sur ce que j'ai vu qui soit adapté amon cas!!
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
16 févr. 2004 à 11:54
hey ! pas grave on est là pour t'aider te bile pas ;)

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
Rejoignez-nous