A l'aide sur les dates Merci !!!

Résolu
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007 - 13 févr. 2005 à 11:03
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007 - 14 févr. 2005 à 10:52
Bonjour,

Je cherche depuis longtemps mais je trouve pas

en fait j aimerais faire afficher dans une liste déroulante tous les vendredis et tous les samedi à venir sur 3 semaines et que par exemple si on est le vendredi apres 18h il disparaissent donc il reste le samedi et les autres vendredi et samedi des autres semaines

Ex: <option value="Vendredi 18 fevrier">Vendredi 18 fevrier
<option value="Samedi 19 fevrier">Samedi 19 fevrier
<option value="Vendredi 25 fevrier">Vendredi 25 fevrier
<option value="Samedi 26 fevrier">Samedi 26 fevrier
<option value="Vendredi 4 mars">Vendredi 4 mars
<option value="Samedi 5 mars">Samedi 5 mars


Imaginez on est vendredi 18 et il est 18h alors

<option value="Samedi 19 fevrier">Samedi 19 fevrier
<option value="Vendredi 25 fevrier">Vendredi 25 fevrier
<option value="Samedi 26 fevrier">Samedi 26 fevrier
<option value="Vendredi 4 mars">Vendredi 4 mars
<option value="Samedi 5 mars">Samedi 5 mars

Merciiiiiiiiiiiiii

13 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 févr. 2005 à 20:50
prière de faire réponse accèptée...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 févr. 2005 à 11:37
tu commence par récupérer la date, et pour plus de facilitées, tu
récupère l'année, le mois et le jour dans 3 variables diférentes...



$j=date('d');

$m=date('m');

$a=date('y');

$nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);
if ($a%4==0){

$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);

}else{

$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);

}

$i=0;

//$i marque les jours passées depuis today

while($i<21){

$j++;

if ($j>$day_per_month[$m-1]){

$j-=$day_per_month[$m-1];

$m++;

if ($m>12){

$m-=12;

$a++;

}

}

//et ici, tu as de quoi afficher toutes les dates sur trois semaines,
il ne te reste qu'a vérifier que ce soit bien un samedi ou un vendredi,
c'est hyper simple :

$a2=$a-500;

$d=(($a2-$a2%4)/4+$j+$nombre[$m])%7

if ($d==5){

echo 'vendredi '.$m.' '.$a;

}else if($d==6){

echo 'samedi '.$m.' '.$a;

}

$i++;

}
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
13 févr. 2005 à 11:51
Merci t es super super !

Par contre j ai une erreur Parse error: parse error, unexpected T_IF

à la ligne qui correspond à
if ($d==5){

puis je me demdandais comment je pourrais faire pour que s il soit 18h le jour meme ne s'affiche pas

si on est vendredi à partir de 18h le vendredi ne s affiche plus

Merciiiiiiiiiiiiii
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
13 févr. 2005 à 11:59
ok il manquait un ;

$d=(($a2-$a2%4)/4+$j+$nombre[$m])%7;

par contre ça m'affiche rien :-(
0

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 févr. 2005 à 17:51
<?

$j=date('d');

$m=date('m');

$a=date('Y');

$nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);

if ($a%4==0){

$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);

}else{

$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);

}

$i=0;

//$i marque les jours passées depuis today

while($i<21){

if ($j>$day_per_month[$m-1]){

$j-=$day_per_month[$m-1];

$m++;

if ($m>12){

$m-=12;

$a++;

}

}

//et ici, tu as de quoi afficher toutes les dates sur trois semaines,
il ne te reste qu'a vérifier que ce soit bien un samedi ou un vendredi,
c'est hyper simple :

$a2=$a-1900;

$d=(($a2-$a2%4)/4+$j+$nombre[$m])%7;

if ($d==5){

echo 'vendredi '.$m.' '.$a;

}else if($d==6){

echo 'samedi '.$m.' '.$a;

}else{

// echo '//'.$d.':'.$j.'_'.$m.'_'.$a;

}

$i++;

$j++;

}

?>


ceci fonctionne chez moi...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
13 févr. 2005 à 18:37
Nikel t'es super par contre

j ai modifié un peu ton code pour avoir le nom du mois en francais

<?
$j=date('d');
$m=date('m');
$a=date('Y');
$nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);
if ($a%4==0){
$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);
}else{
$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);
}
$i=0;
//$i marque les jours passées depuis today
while($i<21){
if ($j>$day_per_month[$m-1]){
$j-=$day_per_month[$m-1];
$m++;
if ($m>12){
$m-=12;
$a++;
}
}





//et ici, tu as de quoi afficher toutes les dates sur trois semaines, il ne te reste qu'a vérifier que ce soit bien un samedi ou un vendredi, c'est hyper simple :
$a2=$a-1900;
$d=(($a2-$a2%4)/4+$j+$nombre[$m])%7;
if($m=='01') {$mois='Janvier';}
if($m=='02') {$mois='Fevrier';}
if($m=='03') {$mois='Mars';}
if($m=='04') {$mois='Avril';}
if($m=='05') {$mois='Mai';}
if($m=='06') {$mois='Juin';}
if($m=='07') {$mois='Juillet';}
if($m=='08') {$mois='Aout';}
if($m=='09') {$mois='Septembre';}
if($m=='10') {$mois='Octobre';}
if($m=='11') {$mois='Novembre';}
if($m=='12') {$mois='Decembre';}
if ($d==5){
echo 'vendredi '.$j.' '.$mois;
}else if($d==6){
echo 'samedi '.$j.' '.$mois;
}else{
// echo '//'.$d.':'.$j.'_'.$m.'_'.$a;
}
$i++;
$j++;
}
?>

mais les jours ne sont pas bon il me dit

vendredi 14 février alors qu on sera lundi
et samedi 15 fevrier alors que ça sera mardi et ainsi desuite :-(

t as pas une idée ?
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 févr. 2005 à 19:04
$d=(($a2-$a2%4)/4+$j+$nombre[$m])%7;



est à remplacer par :





$d=(($a2-$a2%4)/4+$j+$nombre[$m-1])%7;





car on n'a pas de mois 0 mais un mois 12...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
13 févr. 2005 à 19:34
impec !
t es trop fort

je voulais savoir c'est ou qu on regle le nombre de semaine qu on affiche car j'ai compris que la moitié de ton code
MErci encore
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
13 févr. 2005 à 20:50
while($i<21){



ce 21 corespond à 21 jours, soit trois semaines...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
13 févr. 2005 à 20:55
Beh attend ! lol c'est pas fini

faut que je trouve le moyen de virer le vendredi du jour s il est plus de 18h

Après c'est nikeeeeelllllllll !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
14 févr. 2005 à 01:06
apparament je sais pas si on peut le faire avec ton code

je cherche je cherche mais je crois qu on peut pas savoir dans ta boucle ou l on se trouve non?

au moins si on est vendredi ou samedi apres 18h le jour meme disparait

allala c'est chaud !

En tout cas merci pour ce que tu as fait déjà !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
14 févr. 2005 à 10:03
lol



t'as un if pour la condition de jours.... ajoutes une autre condition...





ensuite suffit de vérifier que les jours, années, et mois sont égaux et que la date est supèrieur à 18



pour avoir l'heure :



date('h');



In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
alex1025 Messages postés 104 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 8 décembre 2007
14 févr. 2005 à 10:52
bon je me susi brulé le cerveau t en pense quoi de ça
y a pas d'erreur mais vu qu on est pas vendredi ou samedi et apres 18h c'est normal que rien ne se passe.
j'ai peur que ça vire tous les vendredi ou tous les samedi quand on sera le jour meme
je met en gras ce que j ai changé

<?
$j= date('d');
$m=date('m');
$a=date('Y');
$nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);
if ($a%4==0){
$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);
}else{
$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);
}
$i=0;
//$i marque les jours passées depuis today 21 jours donc 3 semaines à afficher
while($i<21)


{
if ($j>$day_per_month[$m-1]){
$j-=$day_per_month[$m-1];
$m++;
if ($m>12){
$m-=12;
$a++;
}
}






//et ici, tu as de quoi afficher toutes les dates sur trois semaines, il ne te reste qu'a vérifier que ce soit bien un samedi ou un vendredi, c'est hyper simple :
$a2=$a-1900;
$d=(($a2-$a2%4)/4+$j+$nombre[$m-1])%7;



if($m=='01') {$mois='Janvier';}
if($m=='02') {$mois='Fevrier';}
if($m=='03') {$mois='Mars';}
if($m=='04') {$mois='Avril';}
if($m=='05') {$mois='Mai';}
if($m=='06') {$mois='Juin';}
if($m=='07') {$mois='Juillet';}
if($m=='08') {$mois='Aout';}
if($m=='09') {$mois='Septembre';}
if($m=='10') {$mois='Octobre';}
if($m=='11') {$mois='Novembre';}
if($m=='12') {$mois='Decembre';}



$heure=date('h');
$jour=date('d');



if (($d==5) && ($heure<=18 && $j!=$jour)) {
echo '<option>Vendredi '.$j.' '.$mois;
}else if(($d ==6) && ($heure<=18 && $j!=$jour)){
echo '<option>Samedi '.$j.' '.$mois;
}else{
// echo '//'.$d.':'.$j.'_'.$m.'_'.$a;
}
$i++;
$j++;
}
?>
0
Rejoignez-nous