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

PHP & Base de données Discussion :

Probleme script de formulaire avec calendrier [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Probleme script de formulaire avec calendrier
    Bonjour,

    Je dois actuellement développer un formulaire comprenant jours et mois, de dates de début et de fin. Lorsque la date de départ est sélectionnée, la date de fin doit correspondre à J+1, le mois au même mois.

    Le problème est que je dois également faire en sorte que lorsque le dernier jour du mois est sélectionné, le mois de fin doit correspondre au mois suivant.

    Or actuellement, ma fonction ne parvient pas à ce résultat :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    function changeMonth( $month, $date )
    {
    	$tabmoisFR = array(
    				1	=> 'Janvier',
    				2	=> 'Février',
    				3	=> 'Mars',
    				4	=> 'Avril',
    				5	=> 'Mai',
    				6	=> 'Juin',
    				7	=> 'Juillet',
    				8	=> 'Aout',
    				9	=> 'Septembre',
    				10	=> 'Octobre',
    				11	=> 'Novembre',
    				12	=> 'Décembre' );
     
    	$splitValue = explode( "-", $month );
    	$idMonth = $splitValue[0];
     
    	$objResponse = new xajaxResponse();
    	$options .= '<select name="moisrech2" class="saisieligne2">';
     
    	for( $i = 0; $i < 12; $i++ )
    	{
    		if(((($splitValue[1] % 4) == 0) && !(($splitValue[1] % 100) == 0)) || (($splitValue[1] % 400) == 0))
    		{
    			$isBisextile = 1;
    		}
     
    		$toFind = date("m", mktime(0, 0, 0, date("m")+$i, 1, date("Y")));
     
     
    		if( ( $idMonth == $tabmoisFR[2] && $date >= 28 && $isBisextile != 1 )
    			|| ( $idMonth == $tabmoisFR[2] && $date >= 29 && $isBisextile == 1)
    			|| ( $idMonth == $tabmoisFR[4] && $date >= 30 )
    			|| ( $idMonth == $tabmoisFR[6] && $date >= 30 )
    			|| ( $idMonth == $tabmoisFR[9] && $date >= 30 )
    			|| ( $idMonth == $tabmoisFR[11] && $date >= 30) )
    		{
    			$toFind = date("m", mktime(0, 0, 0, date("m")+$i+1, 1, date("Y")));;
    		}
    			if( $toFind == $idMonth )
    			{
    				$selected = " selected";
    			}
    			else
    			{
    				$selected = "";
    			}
     
    		$options .= '<option value="'. date("m", mktime(0, 0, 0, date("m")+$i, 1, date("Y")))."-".date("Y", mktime(0, 0, 0, date("m")+$i, 1, date("Y"))) .'"'. $selected . '>'. $idMonth .' '. $tabmoisFR[1*date("m", mktime(0, 0, 0, date("m")+$i, 1, date("Y")))]." ".date("Y", mktime(0, 0, 0, date("m")+$i, 1, date("Y"))) .'</option>';
    	}
     
    	$options .= '</select'>
     
    	$objResponse->addAssign( 'moisrech2', 'innerHTML', $options );
     
    	return $objResponse->getXML();
    }
    Quelqu'un peut-il m'éclairer sur ce que je ne vois pas ?

    Merci par avance !

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Bonjour,

    Une solution plus simple pourrait etre de raisonner en timestamp.
    Tu pourrais donc prendre la date séléectionnée en timestamp, lui ajouté 1 jour en timestamp, et formater cette nouvelle date.

    Aussi cette technique premetra, en prenant en parametre le nombre de jours a ajouter, d'adapter cette solution a un ajout d'un nombre variable de jours.

    De plus, je ne comprends pas tes arguments : un split sur le caractère '-' dans une variable moi ?

    Z.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonsoir,

    Merci de ta réponse.

    Je pense avoir une piste que je vais tester, autrement je me tournerai vers les timestamps en effet.

    Pour l'explode(), il faut savoir que la variable $month reçoit une valeur de la forme '11-2009'.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Le problème est résolu, le tableau $tabmoisFR ne convenait pas pour ce que je voulais faire.

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

Discussions similaires

  1. Synchroniser un formulaire avec un Calendrier
    Par popogendarme dans le forum Coldfusion
    Réponses: 4
    Dernier message: 17/07/2007, 22h58
  2. Problème de formulaire avec des If-Else
    Par MasterChief78 dans le forum Access
    Réponses: 21
    Dernier message: 29/08/2006, 12h54
  3. probleme formulaire avec onsubmit
    Par hebus44 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/08/2006, 22h20
  4. problemes manip formulaires avec js
    Par cortex007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/07/2006, 07h46
  5. Formulaire avec Script CGI
    Par tintin174 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 30/05/2006, 17h17

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