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] fonctions pour manipuler les temps


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut [Dates] fonctions pour manipuler les temps
    Bonjour,

    je réalise un script php qui à pour but de me donner un calendrier dynamique avec ajax. La partie ajax tourne bien parcontre mon script php produit une erreur et une incompréhension.

    Le mois de février de chaque année me donne 27 jours alors que pour les autres mois, le même script, fait bien la distinction entre les mois en 30 et 31 jours, seul les février me donne 27 jours c'est bizar.

    Ensuite je peux faire défiler les mois et les années depuis décembre 2008 jusqu'a janvier 2010 pas moin pas plus, et dans mon script je n'ai pas mis de blocage ou de nombre de mois à exécuter, c'est libre, car avec ajax je récupère la valeur de la div ou le mois et l'année sont affiché et par mktime j'incrémente ou je décrémente.

    Voila mon script php je pense que l'ajax n'aura pas d'utilité enfin j'espère que ça ira:


    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
     
    <?php 
    if($_GET['categ'] != NULL AND $_GET['moi'] != NULL)
    	{
    	$moi = $_GET['moi'];
    	$valeur = $_GET['categ'];
    	$arri = 'ar';
    	$ava = 'av';
    	if($valeur == $arri)
    		{
    		$extract = substr($moi, 0, 7);
    		$month = substr($extract, 0, 2);
    		$year = substr($extract, 3, 6);
    		$time = strtotime('1-'.$month.'-'.$year);
    		$m=1;
    		$mois = mktime(0, 0, 0, date('n', $time) - $m);
     
    		echo date('m', $mois).'-'.date('Y', $mois);
     
    		$nbj=intval(date('t', $mois));
     
    		$ligne = 0;
    		echo '<table><tr>';
    		for($jour=1; $jour <= $nbj; $jour++): 
     
    		$ligne++;
    		$jours = mktime(0, 0, 0, date('n')+ $m, $jour);
     
    		if($ligne == 7)
    			{
    			$ligne = 0;
    			echo '</tr>';
    			}
    		else
    			{
    			echo '<td class="calendrier">'.date('j', $jours).'</td>';
    			}
     
    		endfor;
    		echo '</tr></table>';
    		}
    	else if($valeur == $ava)
    		{
                      //script similaire à la partie ci-dessus qui incrémente
                        }
    	}
    ?>

    voila j'espère que vous pourrez m'aider

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if($ligne == 7)
    			{
    			$ligne = 0;
    			echo '</tr>';
    			}
    		else
    			{
    			echo '<td class="calendrier">'.date('j', $jours).'</td>';
    			}
    Bhé déjà, il y a 1 jour par semaine qu'il t'affichera pas puisqu'il affiche un </tr> à la place... Sans tracer l'algo, ça peut déjà être une explication.
    De plus, dis toi que ton code HTML va être plein de </tr> associés à aucun <tr>

  3. #3
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    ah oui j'avais pas vu, c'est certain que c'est ça qui me fat disparaitre mon 28e jours au mois février, et sinon pour les années tu aurais une solution concernantle fait que je soit bloqué de dec08 à janv10?

    merci!

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    au hasard, j'ajouterai l'année en 6e paramètre à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jours = mktime(0, 0, 0, date('n')+ $m, $jour);

  5. #5
    Membre éclairé Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Par défaut
    merci pour la réponse mais je vois pas pourquoi ou "je comprend pas" car cette ligne me donne les jours dans le mois calculé ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nbj=intval(date('t', $mois));
    c'est pas en rapport avec le mois et l'année qui sont mes repères.

  6. #6
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    pour le coup, c'est moi qui ne voit pas le rapport entre lal igne qui te donne le nombre de jour dans le mois et le fait que tu sois bloqué entre dec08 et jan10...

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

Discussions similaires

  1. Moment.js : un couteau suisse pour manipuler les dates
    Par FirePrawn dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/04/2013, 13h57
  2. PHP pour manipuler les dates
    Par esteban0013 dans le forum Langage
    Réponses: 4
    Dernier message: 05/10/2011, 13h46
  3. [Dates] Fonction pour afficher les dernières news
    Par Justone22 dans le forum Langage
    Réponses: 23
    Dernier message: 04/08/2008, 22h57
  4. fonction pour lire les fichier audio
    Par tarek007 dans le forum Multimédia
    Réponses: 1
    Dernier message: 11/05/2005, 16h28
  5. Réponses: 2
    Dernier message: 04/09/2004, 10h53

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