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 les semaines entre deux autres


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Par défaut Afficher les semaines entre deux autres
    Ha coucou !

    Je viens vers vous car je bloque :/.
    Voici l'intrigue : J'ai un tableau de taches à qui j'ai affecté les dates à laquelle elles ont été effectué.
    Présenté comme ceci : | Dev | Le 16-04-2014, sem n°16 |

    J'ai deux listes déroulantes avec les 8 dernières semaines, (je récupère comme il faut les valeurs lorsque je les sélectionne) et je souhaiterais lorsque, par exemple, la 1ère liste soit semaine 15 et la 2ème soit semaine 17, dans mon tableau j'ai les tâches comprises entre cette intervalle.

    Je précise que j'utilise un template et que les n° de semaines de sont pas stocké en base (seul la date complète l'est).
    Voici ce qui créer mon tableau :
    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
    $tache = new tache();
     
    $tache -> getAllTachesByDossier($dossier_id);
     
     
    $maLigne = 1;
    $duree_type_tache= array('Conception' =>0 , 'Création Graphique' =>0,'Développement ' =>0,'Formation' =>0,'Gestion et Suivit de Projets, Reporting' =>0,'Intégration' =>0,'Mise à jour' =>0,'Mise en ligne' =>0 ,'R&D' =>0 ,'Rédaction Web' =>0 ,'Référencement Naturel' =>0 ,'Référencement Payant' =>0 ,'Réunion' =>0);
    while ($tache -> hasRecord())
    {
    	if($maLigne%2==0){
    				$t -> set_var('CLASS5','row1');
    	}else{
    				$t -> set_var('CLASS5','row2');
    	}
    	$result_tache = $tache -> getRecord();
    	$no_sem=date('W',strtotime($result_tache['date_record']));
     
    	$t -> set_var ("TYPE", $result_tache["tache_desc"]);
    	$t -> set_var ("PERSONNE", $result_tache["prenom"] . " " . $result_tache["nom"]);
     
    		//Affiche les infos semaine et date si elles existent
    	if( $result_tache["date_record"] == "0000-00-00" && $result_tache["newduree"] != 0 )
    	{
    		$t -> set_var ("HORAIRE", " Sem. n°  ". $no_sem );
    	}
    	elseif( $result_tache["newduree"] == 0 && $result_tache["date_record"] != "0000-00-00" )
    	{
    		$t -> set_var ("HORAIRE", " Le " . formatDate($result_tache["date_record"]) . ", sem. n°  ".$no_sem );
    	}
    	elseif( $result_tache["newduree"] == 0 && $result_tache["date_record"] == "0000-00-00")
    	{
    		$t -> set_var ("HORAIRE", " " );
    	}
    	else
    	{
    		$t -> set_var ("HORAIRE", " Le " . formatDate($result_tache["date_record"]) . ", sem. n°  ".$no_sem );
    	}
    	$t -> set_var ("ETAT_TACHE", $result_tache["avancement_desc"]);
    	$t -> set_var ("COMMENTAIRE", $result_tache["description"]);
    	$t -> set_var ("DUREE", $result_tache["newduree"]);
    	$t -> set_var ("TACHE_ID", $result_tache["tache_id"]);
    	$t -> set_var ("DATE", formatDate($result_tache["date_record"]));
     
    	if(array_key_exists($result_tache["tache_desc"], $duree_type_tache))
    		$duree_type_tache[$result_tache["tache_desc"]]+=$result_tache["newduree"];
     
    	$t -> parse("BDONE_TACHE","EACH_DONE_TACHE",true);
    	$maLigne++;
    }
    PS : C'est légèrement urgent , je vous remercie de l'aide que vous pourriez m'apporter !

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    J'ai pas tout compris, mais sache qu'en Php il est possible d'avoir le numéro de semaine d'une date avec l'option 'w' date('w', $timestamp),et en SQL (pour Mysql en tout cas), il existe la fonction 'week' qui retourne le numéro de semaine (http://dev.mysql.com/doc/refman/5.0/...functions.html).

    Tu devrais t'en sortir avec ça.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Par défaut
    Malheureusement c'est pas du tout ce que je recherche .
    Ceci j'y suis arrivé, c'est justement les valeurs que je veux utiliser pour faire intervalle.
    Pour être plus précis :

    J'ai mes semaines
    Nom : Capture.PNG
Affichages : 86
Taille : 2,7 Ko

    et je souhaiterais afficher dans ce tableau :
    Nom : Capture.PNG
Affichages : 81
Taille : 13,9 Ko

    les taches comprises entre ce que qui a été saisie dans les listes.

    Pour l'exemple il n'y aurait aucune semaine d'affiché

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Donc si c'est exactement ce que tu recherches, il te faut faire une recherche SQL en utilisant la fonction WEEK de Mysql, combiné avec YEAR pour sélectionner la bonne année.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Par défaut
    Merci je regarde tout ça !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 15
    Par défaut
    Alors j'ai regarder un peu tout ça.
    J'ai tester cette requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select t.date_record as newduree from tache t WHERE dossier_id = 637 ORDER by t.date_record
    Elle me revoit donc les dates des enregistrements de ma table tache.

    J'ai donc essayé ceci pour avoir les semaines correspondante
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT WEEKOFYEAR ('t.date_record') from tache t WHERE dossier_id = 637 ORDER by t.date_record
    Celle ci me renvoi des données NULL. La même chose avec WEEK

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 12/07/2011, 17h25
  2. Outils sur les différences entre deux fichiers XML
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 19
    Dernier message: 21/07/2008, 15h21
  3. [VB6]sortir toutes les dates entre deux dates
    Par AlfiQue dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/02/2006, 19h09
  4. Réponses: 10
    Dernier message: 20/09/2005, 15h32
  5. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07

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