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 :

Remplir un tableau en fonction des dates selectionnees [MySQL]


Sujet :

PHP & Base de données

  1. #61
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    Faut il insérer dans ce cas un champs hidden pour récupérer les valeurs de date début et fin de la page saisie.php ?
    Cette ligne gère bien la date avec le date_create()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $case = $date->format('d/m/y');

  2. #62
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas répondu à mes deux questions.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #63
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    ce que je me suis rendu compte c'est que $objDatefin me declenche une erreur,et que si je le remplace par une valeur '2015-07-15' il ne me reste que la colonne salle.
    Notice: Undefined variable: objDatefin
    en mon sens il n'y a rien qui dit a quel date commence le tableau,de plus hier j'avais mes 7 colonnes et depuis aujourdh'hui (nouvelle semaine je n'ai que le lundi 1 colonne)

  4. #64
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quand tu voudras bien répondre à mes deux questions, tu me feras signe.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #65
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    Je veux bien te répondre mais le soucis pour être franc avec toi ce que j'en ai pas les réponses à te donner

  6. #66
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu ne sais pas pourquoi, tu as mis des balises <form> alors tu peux les retirer.

    Quand à savoir à quelle date doit commencer le planning, il n'y a que toi qui peut répondre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #67
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    Les balises ont été enlevés et concernant la date du début proprement di j'en ai pas car le tableau commencerai le lundi jusqu'au dimanche,et dès le dimanche passé à l'autre semaine

  8. #68
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est quoi "le lundi" ? Le lundi de la semaine en cours ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #69
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    Oui par exemple pour cette semaine cela serait semaine du lundi 20 /07/2015 au dimanche 26/07/2015

  10. #70
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Sur la première page je t'ai déjà montré comment avoir ces dates.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #71
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    oui nous sommes d'accord mais mon problème principal c'est d'avoir toujours ce probleme de variable non définie sur la ligne d'execute(j'ai enleve les isset car plus de message d'erreur mais pas d'affichage non plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    require_once("connexionsallesMysql.php");
     
    $sth=$pdo->prepare("SELECT SALLE, PRODUITS, JOUR_DEBUT, JOUR_FIN FROM planning WHERE SALLE IN ('Salle_1','Salle_2','Salle_3','Salle_4','Salle_5','Cours','Vestiaires')AND JOUR_DEBUT <=:j_fin  AND JOUR_FIN >=:j_debut");
    $sth->execute(array(':j_debut'=>$_POST['JOUR_DEBUT'],':j_fin'=>$_POST['JOUR_FIN']));
    Notice: Undefined index: JOUR_DEBUT
    Notice: Undefined index: JOUR_FIN

  12. #72
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $_POST['JOUR_DEBUT'] doit être remplacé par ta date de début et $_POST['JOUR_FIN'] par ta date de fin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #73
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    $_POST['JOUR_DEBUT'] et $_POST['JOUR_FIN'] ne sont pas censé récuperer les dates qui se trouvent dans la table?
    j'ai essayé de les remplacer respectivement par les dates ,rien ne s'affiche

  14. #74
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    $_POST['JOUR_DEBUT'] et $_POST['JOUR_FIN'] ne sont pas censé récuperer les dates qui se trouvent dans la table?
    absolument pas
    tu devrais revoir les bases de PHP, $_POST contient les données venant d'un formulaire POST ; ce qui n'est pas ton cas.
    j'ai essayé de les remplacer respectivement par les dates ,rien ne s'affiche
    le code stp, toujours pareil.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #75
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    voici le code:

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
    require_once("connexionsallesMysql.php");
     
    $sth=$pdo->prepare("SELECT SALLE, PRODUITS, JOUR_DEBUT, JOUR_FIN FROM planning WHERE SALLE IN ('Salle_1','Salle_2','Salle_3','Salle_4','Salle_5','Cours','Vestiaires')AND JOUR_DEBUT <=:j_fin  AND JOUR_FIN >=:j_debut");
    $sth->execute(array(':j_debut'=>'2015-07-20',':j_fin'=>'2015-07-20'));
     
    while ($donnees = $sth->fetch(PDO::FETCH_ASSOC)) {
       $objDatedebut = date_create($donnees['JOUR_DEBUT']);
       $objDatefin = date_create($donnees['JOUR_FIN']);
       for( $date = clone $objDatedebut; $date <= $objDatefin; $date->modify('+1 day')) {
            $tableau[$donnees['SALLE']][$date->format('Y-m-d')][] = $donnees['PRODUITS'];
     
       }
    }
     
    ?>
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
    <head>
        <meta http-equiv="Refresh" content="10" >
        <title>Gestion des Salles</title>
     
    </head>
    <body>
    <table border="1" cellspacing="1" cellpadding="30">
    <?php
     
    $objDatedebut = date_create('2015-07-20');
    $objDatefin = date_create('2015-07-26');
    $objDatedebut = date_create();
    if ($objDatedebut->format('N') != 1) {
        $objDatedebut->modify('last monday');
    }
     
     
     
    $tblSalles = array(
    	0 => 'Salles',
    	1 => 'Salle 1',
    	2 => 'Salle 2',
    	3 => 'Salle 3',
    	4 => 'Salle 4',
    	5 => 'Salle 5',
    	6 => 'Cours',
    	7 => 'Vestiaires'
    );
     
    foreach ($tblSalles as $key=>$Salle) {
     
    	echo '<tr>
    				<td>' . $Salle . '</td>';
    	for ($date = clone $objDatedebut; $date <= $objDatefin; $date->modify('+1 day')) {
     
    		if ($key == 0) {
    			$case = $date->format('d/m/y');
    		}
    		else {
     
        $case = isset($tableau[$Salle][$date->format('Y-m-d')]) ? $tableau[$Salle][$date->format('Y-m-d')] : '';
     
    }
    		echo '<td>' . $case .'</td>';
    	}
    	echo '</tr>';
    }
     
    ?>
     
    </table>
    </body>
    </html>

  16. #76
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    j'ai mis un var_dump( $tableau)

    ici

    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
    foreach ($tblSalles as $key=>$Salle) {
     
    	echo '<tr>
    				<td>' . $Salle . '</td>';
    	for ($date = clone $objDatedebut; $date <= $objDatefin; $date->modify('+1 day')) {
     
    		if ($key == 0) {
    			$case = $date->format('d/m/Y');
    		}
    		else {
     
        $case = isset($tableau[$Salle][$date->format('Y-m-d')]) ? $tableau[$Salle][$date->format('Y-m-d')] : '';
    var_dump( $tableau); 
    var_dump( $case); 
    }
    		echo '<td>' . $case .'</td>';
    	}
    	echo '</tr>';
    }
     
    ?>
     
    </table>
    </form>
    </body>
    </html>
    voici le resultat

    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
    array (size=1)
      'Salle_1' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'testsssss' (length=9)
     
    array (size=2)
      'Salle_1' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'testsssss' (length=9)
      'Salle_4' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'ok' (length=2)
     
    array (size=3)
      'Salle_1' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'testsssss' (length=9)
      'Salle_4' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'ok' (length=2)
      'Salle_5' => 
        array (size=1)
          '2015-07-20' => 
            array (size=1)
              0 => string 'test' (length=4)
    resultat pour var_dump( $case);

    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
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)
     
    string '' (length=0)

  17. #77
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis la même chose pour début et fin dans la requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #78
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    Oui car je peut avoir des cas pour une journée, ou sur une période supérieure à 1 jour.dans le cas présent c'est 1 journee

  19. #79
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux bref, les dates dans la requête doivent être les mêmes que celles du planning.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #80
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 108
    Points : 25
    Points
    25
    Par défaut
    donc si je te suis bien j'ai un soucis dans mon format car les dates du tableau et requete sont dans le format Français mais dans ma table phpmyadmin la date est en format anglais(type date).sinon je ne vois pas car pour mes différents exemple les dates sont bonnes et devraient etre afficher dans le tableau de la semaine^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    require_once("connexionsallesMysql.php");
     
    $sth=$pdo->prepare("SELECT SALLE, PRODUITS, JOUR_DEBUT, JOUR_FIN FROM planning WHERE SALLE IN ('Salle_1','Salle_2','Salle_3','Salle_4','Salle_5','Cours','Vestiaires')AND JOUR_DEBUT <=:j_fin  AND JOUR_FIN >=:j_debut");$sth->execute(array(':j_debut'=>'20-07-2015',':j_fin'=>'20-07-2015'));
     
    while ($donnees = $sth->fetch(PDO::FETCH_ASSOC)) {
      $objDatedebut = date_create('20-07-2015');
      $objDatefin = date_create('20-07-2015');
       for( $date = clone $objDatedebut; $date <= $objDatefin; $date->modify('+1 day')) {
    	   $tableau[$donnees['SALLE']][$date->format('Y-m-d')][] = $donnees['PRODUITS'];

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/03/2015, 22h50
  2. changer l'ordre des dates dans table
    Par lordyan dans le forum Requêtes
    Réponses: 11
    Dernier message: 14/01/2005, 11h12
  3. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28
  4. Décaler des valeurs dans un tableau
    Par sh2003 dans le forum Langage
    Réponses: 6
    Dernier message: 20/03/2004, 16h01
  5. Réponses: 3
    Dernier message: 19/03/2003, 15h19

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