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 :

Afficher un calendrier(pop-up) via un bouton


Sujet :

Langage PHP

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut Afficher un calendrier(pop-up) via un bouton
    Bonjour tout le monde,

    je réalise un site web en php et j'aimerais que l'utilisateur puisse choissir sa date de naissance via un calendrier, que pensez vous de mon idée??(est-ce bien ou vous feriez autrement??)

    J'aimerais savoir comment je peux affficher un pop-up(en dessous du bouton) en cliquant sur un bouton??

    Je voudrais également savoir si quelqu'un aurait un code simple pour le pop up(calendrier)??

    Merci d'avance!!

  2. #2
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Bonjour,

    Sinon, je ne pense pas que ça soit une bonne idée (oui car cliquer 60 fois sur un bouton pour arriver a la bonne année, bof bof. Je te conseille plutôt 3 selects simple (j, m, y).

    Sinon c'est du javascript.
    Une petite recherche, aller 20 secondes le temps de charger la page en 56k :
    http://www.google.fr/search?q=popup+...ient=firefox-a
    Tu peux aussi voir du coté des popunder.

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à leodi
    Ok, oué c'est clair en fait que si la personne st né en 1988 et le pop-up est à l'année 2008, relou d'allais chercher 1988.

    Donc pourquoi pas réaliser comme tu la dit :
    3 selects simple (j, m, y).
    mais ce que je me demande c'est si je doit obligatoirement marquer toute les années comme option?? car c'est long surtout que l'on sait pas kel age aura le plus viux client. Donc comment me conseille tu de fair??

    cordialement!!

  4. #4
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    C'est à toi de voir.
    1900 - date('Y') semble correct. Après à toi de voir si tu veux pas inscrire les bébés ou les centenaires.

    date('Y') pour récupérer l'année courante

    http://fr3.php.net/manual/en/function.date.php

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à leodi
    1900 - date('Y')
    Donc ce que tu me conseille c'est de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <tr>
    			<td>Date de naissance</td>
    <td>
    				<select name="années">
    					<option>1900</option>
    					...........
    					<option>2008</option>
    				</select>
    			</td>
    		</tr>


    de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <tr>
    			<td>Date de naissance</td>
    <td>
    				<select name="années">
    					<option value="1900 - date('Y')"></option>
    				</select>
    			</td>
    		</tr>
    la deuxième version ne fonctionne pas(cela m'affiche rien dans la liste déroulante surrement du au fait que value n'existe pas dans la balise "option".

    Cordialement!!

  6. #6
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    il faut le faire avec une boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    i = 1990
    Tant que i est inférieur à date('Y')
      <option> </option>
      i++

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à leodi
    Pas béte l'idée de la boucle, je n'y avais pas pensé!!

    Voila ce que me donne le code mais mon souci vient du fait que la liste déroulante ne se remplit pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <tr>
    			<td>Date de naissance</td>
    			<!-- 'type="text" permet le champ de saisit correspondant a la date de naissance du client lors de sa création -->
    			<td><select name="années">
    					<?php
    						$i = 1990;
    						while(i < date('Y'))
    					?>
    					 <option> </option>
      					i++
    				</select>
    			</td>
    </tr>
    merci d'avance!!

  8. #8
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Va voir ici : http://g-rossolini.developpez.com/tu...ntaxe#LIII-K-4.
    De plus, copier coller le code, sans chercher a comprendre n'a jamais fait avancer les choses, loin de la.
    Ta boucle est mal faite. Essaye de voir pourquoi.

  9. #9
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à leodi
    Merci pour tes sites!!

    Je pense avoir réglé mon problème dans la boucle voici ce que cela me donne maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    						$i = 1990;
    						while($i < date('Y'))
    						//	echo $i;
    							$i++;
    					?>
    Mais ya toujours rien que s'affiche dans la liste déroulante!! J'essaye de voir depuis hier mais toujours rien!!je pense qu'il afut que j'utilise un $_POST ou un $_GET mais je vois pas comment faire!!??!!

    Cordialement!!

  10. #10
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Je pense que tu n'as pas bien du analyser la manière d'utiliser while :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $i = 1990;
    while($i <= date('Y')) {
      echo $i."\n<br>";
    $i++;
    }
    ?>
    Ce code fonctionne, reste plus qu'a l'intégrer à ta liste déroulante.

    Tu peut lire ceci : http://g-rossolini.developpez.com/tu...?page=sommaire

  11. #11
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à 12monkeys
    Ui effecivement j'avais oublié les : "{" ouuuuuuuuu le null!!

    Sinon : http://g-rossolini.developpez.com/tu...?page=sommaire J'arrive pas a l'ouvrir donc je vais pas pouvoir trouvais la solution!! Comment faire??

    Cordialement!!

  12. #12
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    En cliquant sur le lien dans mon message ça ne fonctionne pas ? Je ne sais pas ce que tu as copié dans ton message mais ce n'est pas le bon lien.

    Voici le lien de la page : http://g-rossolini.developpez.com/tutoriels/php/cours/?page=sommaire (à copier/coller dans ta barre d'adresse).

  13. #13
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à 12monkeys
    C'est bon cela fonctionne, pourtant avant je cliqué directement sur ton lien enfin bref!!

    Je regarderai demain si j'ai le temps!!

    Cordialement!!

  14. #14
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut de mes nouvelles
    Bonjour tout le monde,

    Voila j'ai essayé quelque chose mais c'est pas trés performant, ca me donne cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	<td>Date de naissance</td>
    			<!-- 'type="text" permet le champ de saisit correspondant a la date de naissance du client lors de sa création -->
    			<td><select name="années">
    				<?php
    					$i = 1990;
    					while($i <= date('Y')) 
    					{
     						//echo $i."\n<br>";
     						echo "<option value=\"" . $i++ . "\">\"</option>";
    						$i++;
    					}
    				?>  
    				</select>
    			</td>
    Cela m'affiche une liste déroulante avec plusieurs ligne qui ont '' comme valeur!!

    Merci d'avance!!

    P.S. : en attendant une réponse où de l'aide je vais essayé de trouvé pourquoi mais si vous avez une idée n'ésité pas!!

    Cordialement!!

  15. #15
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    La première remarque est que ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value=\"" . $i++ . "\">\"</option>";
    tu veux afficher l'année avec $i mais en même temps tu incrémente l'année avec les ++, puis sur la ligne suivante tu incrémente encore une fois l'année...

    edit : bon ben c'est la seule remarque, enlève les ++ dans la ligne citée plus haut, et ça marche (en tout cas chez moi).

  16. #16
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à 12monkeys
    Ben moi ça me donne le même résultat même si je retire les ++.

    Je regarderais demain aprés midi je pense mais si tu as une nouvele idée --> je suis preneur!!

    Cordialement

  17. #17
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Plus trop d'idée car ce code fonctionne chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <select name="années">
    <?php
    	$i = 1990;
    	while($i <= date('Y')) 
    	{
    		echo '<option value="'. $i .'">'. $i .'</option>'."\n";
    		$i++;
    	}
    ?>
    </select>
    me donne ceci dans la source :

    Code html : 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
    <select name="années">
    <option value="1990">1990</option>
    <option value="1991">1991</option>
    <option value="1992">1992</option>
    <option value="1993">1993</option>
    <option value="1994">1994</option>
    <option value="1995">1995</option>
    <option value="1996">1996</option>
    <option value="1997">1997</option>
    <option value="1998">1998</option>
    <option value="1999">1999</option>
    <option value="2000">2000</option>
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007">2007</option>
    <option value="2008">2008</option>
    </select>

    Essaye voir ce code tout seul : sans rien d'autre dans ta page. Si ça ne fonctionne toujours pas, redonne ton code ici, et précise exactement quel est le résultat (erreur...).

  18. #18
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à 12monkeys
    J'ai essayé de mettre seulement le code dans une page et ça m'affiche comme source :
    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
    <!-- 'type="text" permet le champ de saisit correspondant a la date de naissance du client lors de sa création --><select name="années">
    <option value="1990">1990</option>
    <option value="1991">1991</option>
    <option value="1992">1992</option>
    <option value="1993">1993</option>
    <option value="1994">1994</option>
    <option value="1995">1995</option>
    <option value="1996">1996</option>
    <option value="1997">1997</option>
    <option value="1998">1998</option>
    <option value="1999">1999</option>
    <option value="2000">2000</option>
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007">2007</option>
    <option value="2008">2008</option>
    </select>
    donc dans la liste déroulante cela m'affiche bien les années.

    Par contre si j'essaye avec le reste j'obtient ce code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <td>Date de naissance</td>
    			<!-- 'type="text" permet le champ de saisit correspondant a la date de naissance du client lors de sa création -->
    			<td><select name="années">
    				<option value="1990"></option><option value="1991"></option><option value="1992"></option><option value="1993"></option><option value="1994"></option><option value="1995"></option><option value="1996"></option><option value="1997"></option><option value="1998"></option><option value="1999"></option><option value="2000"></option><option value="2001"></option><option value="2002"></option><option value="2003"></option><option value="2004"></option><option value="2005"></option><option value="2006"></option><option value="2007"></option><option value="2008"></option>  
    				</select>
    			</td>
    mais la liste déroulante est vide.

    D'ou peut donc provenir mon erreur lorsqu'il y a tout??

    Cordialement!!

  19. #19
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut
    C'est bon en faite j'ai réussit c'est juste parce que j'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value=\"" . $i . "\"></option>";
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'. $i .'">'. $i .'</option>'."\n";
    Merci pour tout!!

  20. #20
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut Besoin de conseil, d'aide!!
    Voila j'ai réalisé pour le 'Jour' et le 'mois' mais je me pose 2 questions :
    1) je voulais savoir si tu avais une idée pour me guider sur comment je peux faire pour enregistrer la date sélectionné dans ma base MySQL?? cette base contient une table 'client ou ya un champ 'DATEDENAISSANCE'.
    2) Je suis entrain de me dire qu'il faudrait tête que je gére le nombre de jour... Exemple qu'il y a 29 jours au maximum dans le mois de 'Février' et non 31, qu'en pensez-vous??

    Cordialement

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

Discussions similaires

  1. [Débutant] Afficher des données (Mysql) via différents boutons
    Par rokawear dans le forum Accès aux données
    Réponses: 1
    Dernier message: 26/03/2013, 08h10
  2. [XL-2003] Afficher/Masquer dynamiquement via un bouton
    Par lexus92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/03/2012, 16h42
  3. [XL-2003] afficher/masquer zone de lignes via bouton "+" / "-"
    Par easyhour dans le forum Excel
    Réponses: 2
    Dernier message: 30/11/2010, 09h21
  4. Réponses: 7
    Dernier message: 07/01/2010, 20h48
  5. Réponses: 1
    Dernier message: 11/04/2006, 16h48

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