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] chaine déroulante date


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut [Dates] chaine déroulante date
    Bonjour à tous,

    J'ai une base de données ou sont stockées des dates au format mysql. Je les affiche au format français. Cependant j'ai fait une page ou l'on peut modifier ces dates.
    En fait j'ai une liste déroulante pour le jour, une pour le mois et une pour l'année. Je souhaiterais qu'il soit possible que lorsque je clique sur modifier que ca affiche la liste déroulante avec la valeur que j'ai dans ma base.

    Je pense qu'il faut faire un explode mais je ne suis pas sûre, et ensuite je ne sais pas comment fiare

    J'espère avoir été claire

    Merci de l'aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Et bien tu fais un explode de la date. Par exemple si la date est au dormat jj-mm-yyyy :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = explode('-', maDate);
    Tu obtiendras $date[0] --> jj ; $date[1] --> mm ; $date[2] --> yyyy

    Ensuite, quand tu crées ta combobox, tu fais un test pour savoir si il faut mettre par défaut cette valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    echo '<select name="jour">';
    for($jour=1 ; $jour<=31 ; $jour++)
    {
    <div style="margin-left:40px">if($jour==$date[0])
    {
    <div style="margin-left:40px">echo '<option value="'.$jour.'" SELECTED>$jour</option>';</div>}
    else
    {
    <div style="margin-left:40px">echo '<option value="'.$jour.'">'.$jour.'</option>';</div>}</div>}
    echo '</select>';
    Moi je ferais un truc dans le genre, mais il y a surement mieux !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    c'est gentil, je vais déjà essayer avec cela....merci beaucoup

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    je fais comment pour obtenir ce bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date[0] --> jj ; $date[1] --> mm ; $date[2] --> yyyy

  5. #5
    Invité
    Invité(e)
    Par défaut
    Quand tu vas faire : $date = explode('-', maDate); Ta date va être coupé à chaque petit tiret et tu va obtenir dans le tableau $date trois cases, une contenant le jour, une le mois et l'autre l'année.

    Donc si tu veux récupérer le jour, tu fais $date[0] (parce que dans ta date, le premier élément coupé avant le prochain tiret, c'est le jour), et ainsi de suite.

    Tu as compris ou j'ai mal expliqué ?

  6. #6
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014
    Par défaut
    Ton explication est clair, mais l'idéal serait directement d'aller voir explode

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    j'a iessayé de faire avec explode selon l'exemple de la faq et ca ne marche pas du tout

  8. #8
    Invité
    Invité(e)
    Par défaut
    Merci brYs

    Et bien mets ton code kitty2006 (pas tout non plus, juste ce qu'il faut) pour voir si on trouve ce qui va pas

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    alors les liste déroulante fonctionne, à part que j'aimerais pouvoir afficher la valeur 00 00 0000 dans chaque liste. sinon je les fais statiquement.....eh html....
    mais ca n'affiche pas la liste selon la valeur du champ date-sortie dans ma table....Comment faut-il fire

  10. #10
    Invité
    Invité(e)
    Par défaut
    Je t'ai dis comment faire dans mon premier post, mais donne moi des bouts de code, ça sera plus simple pour t'expliquer

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Mreci pour l'aide

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    $date = explode('-', $entree);
    	//echo $date;
     
    	echo '<select name="jour">';
    	for ($jour=1; $jour<=31; $jour++)
    		{
    		if($jour==$date[0])
    		{
    		echo '<option value="'.jour.'" SELECTED>$jour</option>';
    		}
     
    		else 
    		{
    		echo '<option value="'.$jour.'">'.$jour.'</option>';
    		}
     
    		}echo '</select>';
     
    	echo '<select name="mois">';
    	for ($mois=1; $mois<=12; $mois++)
    		{
    		if($mois==$date[1])
    		{
    		echo '<option value="'.$mois.'" SELECTED>$mois</option>';
    		}
     
    		else 
    		{
    		echo '<option value="'.$mois.'">'.$mois.'</option>';
    		}
     
    		}echo '</select>';
    	echo '<select name="annee">';
    	for ($annee=1985; $annee<=2020; $annee++)
    		{
    		if($annee==$date[2])
    		{
    		echo '<option value="'.$annee.'" SELECTED>$annee</option>';
    		}
     
    		else 
    		{
    		echo '<option value="'.$annee.'">'.$annee.'</option>';
    		}
     
    		}echo '</select>';?>

  12. #12
    Invité
    Invité(e)
    Par défaut
    Elle ressemble à quoi ta date ??

    Et puis change echo '<option value="'.jour.'" SELECTED>$jour</option>'; par
    echo '<option value="'.jour.'" SELECTED>'.$jour.'</option>';
    Pareil pour moi et année.

    Et ça fait quoi au juste ça ??

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    En fait ce que j'aimerais c'est que lorsque je clique sur un bouton modifier, ca m'affiche par exemple pour l'id 1 le nomd ela personne, la date de naissance.
    J'aimerais que dans ma page modifier que j'ai une liste déroulante pour lejour de la naissance, une pour le mois etune pour l'année.

    Cette date de naissnace est modifiable. Si dans ma base la date est à 24 mai1985 donc 1985-05-24, que je fais modifié que dans mes liste ci-dessus que ca affiche les listes sous ses valeurs là donc 24, 05, 1985,

    C'est pour cela que j'ai essayé de faire avec un selected, j'aimerais que ca sélectionne les valeurs sélectionneé depuis ma base.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Si dans ma base la date est à 24 mai1985 donc 1985-05-24
    C'est normal alors que ça marche pas!! Moi je t'ai donné un exemple avec une date jj-mm-yyyy.

    DOnc : if($jour==$date[0]) --> MARCHE PAS !! par contre si tu prends $date[2], ça sera OK, et pareil pour l'année c'est pas $date[2], mais $date[0].

    J'ai dis que le epxlode coupait à chaque petit tiret (puisque tu as spécifié en chaine séparateur "-") et que ça mettais le résultat dans un tableau, donc le premier élément coupé va à l'indice, 0, le deuxième en 1, etc etc

    Or ton premier morceau coupé, c'est l'année, donc l'année est dans l'indice 0 et pas 2 !!!

    J'espère que tu as compris

  15. #15
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    moi j'ai compris la

    sérieusement kitty2006 fait attention a tes indices c'est normal que si tu compare les jours avec les année ca ne sera jamais selected comme option
    genre 21 comparer avec date[0] qui vaut 1985...jamais égal ca

  16. #16
    Invité
    Invité(e)
    Par défaut
    Lol merci

    Ben oui
    M'enfin je l'avais peut-être mal expliqué dans les premiers posts, m'enfin je pensais qu'elle aurait compris (entre moi et la doc )

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Bon merci de votre aide
    et bonne journée

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut explode date
    bonjour à tous,

    Voila j'ai fait ce bout de code, ci-dessous, je pensais que ca allait fonctionner mais ce n'est pas le cas, pouvez-vous m'aider ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$date = explode('-', $sortie);
    	$annee==$date[0];
    	$mois==$date[1];
    	$jour==$date[2];
    	echo $annee;
    	echo $mois;
    	echo $jour;
    MERci

  19. #19
    Membre Expert
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Par défaut
    bonjour,
    probleme de quotes
    essaies comme ca et ca va fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = explode("-", $sortie);
    en effet pour que explode prenne ton - comme separateur, il faut le mettre entre double quotes

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    j'ai changé mais ca ne change rien....
    en plus ca ne m'affiche absolutment rien

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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] Liste déroulante date et années bissextiles
    Par Jiraiya42 dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2007, 01h04
  3. [vb.net]Formater une chaine en date
    Par Dnx dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/10/2005, 13h40
  4. ODBC Foxpro format chaine en date
    Par chnew dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/09/2005, 16h58
  5. [FLASH MX2004] Convertir chaine en date
    Par stip dans le forum Flash
    Réponses: 5
    Dernier message: 20/01/2005, 18h01

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