IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Dates] Gestion de date


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Par défaut [Dates] Gestion de date
    Bonjour,

    Alors là je m'attaque au date... et c'est pas du gâteau

    Mon souci là, c'est de vouloir mettre dans une liste déroulante, l'année actuelle plus l'année suivante, et que ça se mette à jour tout les ans, sans avoir besoin de replonger dans le code.

    J'ai donc pensé à faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ts = mktime(1,0,0,1,1,date('Y')+1);
    echo date('Y',$ts);
    Qui m'affiche bien l'année suivante, c'est-à-dire 2009.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select name='annee'>
    		for($i = date("Y"); $i >= date("Y",$ts); $i--)
    		{
    		echo"<option value=\"$i\">$i</option>";
    		}
    	echo"</select>
    Et ma liste déroulante. Seulement dans celle-ci, date("Y",$ts) ne veux pas fonctionner comme dans l'echo précédent...

    Une idée pour m'aider à m'avancer ??

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Hmmm il me semble que c'est beaucoup plus simple ^^ si tu ne dois afficher que 2 dates :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    echo '<select name="annee">';
    	for( $i = 0; $i < 2; $i++ ) {
    		echo '<option value="'.(date("Y")+$i).'">'.(date("Y")+$i).'</option>';
    	}
    echo '</select>';
    ?>



    Et voilà si tu veux par exemple afficher depuis 1990 jusqu'à l'année en cours +1
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    echo '<select name="annee">';
    	for( $i = 1990; $i <= (date("Y")+1); $i++ ) {
    		echo '<option value="'.$i.'">'.$i.'</option>';
    	}
    echo '</select>';
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Par défaut
    Oui effectivement c'est plus simple que je le pensais...

    J'avais une seconde solution sinon :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $ts = mktime(1,0,0,1,1,date('Y')+1); $an = date('Y',$ts); echo $an;
    <select name='annee'>
    	<option value= <?php echo date("Y"); ?>><?php echo date("Y"); ?></option>	
    	<option value= <?php echo $an; ?>><?php echo $an; ?></option>
    </select>
    Je préfère tout de même adopter la tienne
    Merci bien d'avoir pris le temps de réfléchir à mon souci


    Je laisse le sujet en suspens car c'est bien rare si je ne vais pas avoir d'autre souci de date au cours de la journée

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Par défaut
    Je continue donc sur les dates et maintenant mon souci est d'insérer une date dans ma BDD...
    Mon champ dans ma BDD est de type datetime, soit cette forme :
    2008-04-11 14:13:30

    Dans ma page, je saisie plusieurs dates avec heures/minutes, qui correspond à la séance d'un film. Ce qui explique ma boucle for qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    for($i = 0; $i < $nbre; $i++)
    	{
    	$result = checkdate($moisseance[$i], $jourseance[$i], $anneeseance[$i]);
     
    	if( $result == false )
    	{
    	     $j = $j+1;
    	}
    	if ($j>0)
    	{
    	echo"<i>Une des dates que vous venez de s&eacute;lectionner n'est pas valide, veuillez recommencer.</i><br><br>";
    	echo"<a href='film_ajout.php' class='deco'>>> Retour <<</a>";
    	}
    	else
    	{
    		echo $anneeseance[$i];echo"-";
    		echo $moisseance[$i];echo"-";
    		echo $jourseance[$i];echo" ";
    	        echo $heureseance[$i];echo":";
    		echo $minuteseance[$i];
    		echo"<br>";
    	}
    }
    Ainsi, pour chacune de mes séances, j'ai la date, composé de l'année, mois et jour, et également l'heure avec les minutes.
    L'affichage marche correctement.

    La question est plutôt de l'ordre de l'insert...
    Comment insérer mes dates dans ma BDD ??

    Il faudrait que je mette toutes mes variables dans une seule je pense, mais je ne vois pas comment procéder... pouvez-vous m'aider ??

  5. #5
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Pour l'ajouter dans la BDD il faut voir comment elle est construite (voir si le champ qui va récupérer la valeur va demander la date en secondes (mktime() - strtotime()) ou plutot une timestamp du genre aaaa-mm-dd hh:ss:mm (à ce moment là, tu peux te créer une petite fonction qui récup tes valeurs pour les mettre en forme par exemple)

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Par défaut
    Je me suis servi d'implode et explode pour arriver à le mettre sous forme de chaîne, et ça marche à merveille =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] couleur cellule date differente si date passee, ou date du jour
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/03/2011, 09h24
  2. [Dates] Gestion de date en php
    Par stomerfull dans le forum Langage
    Réponses: 5
    Dernier message: 26/08/2008, 15h16
  3. [Dates] Gestion des dates de fichiers
    Par dug dans le forum Langage
    Réponses: 3
    Dernier message: 16/09/2006, 21h24
  4. [Dates] Gestion des dates avant 1970
    Par viny dans le forum Langage
    Réponses: 4
    Dernier message: 30/08/2006, 18h01
  5. [Dates] gestion de date
    Par rom950 dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2006, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo