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 :

affichage données par rapport à une date [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Par défaut affichage données par rapport à une date
    Bonsoir,

    j'ai une base de données comportant 3 tables dont voici le code :

    Code SQL : 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
    CREATE TABLE etat(
    id_etat INT NOT NULL AUTO_INCREMENT,
    description_etat VARCHAR(40) NOT NULL,
    constraint Pk_etat Primary Key (id_etat))TYPE=InnoDB;
     
    CREATE TABLE evenements(
    id_evenement INT NOT NULL AUTO_INCREMENT,
    jour_evenement VARCHAR(2) NOT NULL,
    mois_evenement VARCHAR(2) NOT NULL,
    annee_evenement VARCHAR(4) NOT NULL,
    heure VARCHAR(2),
    id_etat INT,
    constraint Pk_evenements Primary key (id_evenement),
    constraint Fk_evenements Foreign key (id_etat) References etat (id_etat))TYPE=InnoDB;
     
    CREATE TABLE horaires(
    id_horaire INT NOT NULL AUTO_INCREMENT,
    jour VARCHAR(10),
    heure VARCHAR(2),
    id_etat INT,
    constraint Pk_horaires Primary key (id_horaire),
    constraint Fk_horaires Foreign key (id_etat) References etat (id_etat))TYPE=InnoDB;

    La table horaires correspond aux heures d'ouverture par défaut.
    Je souhaiterais afficher pour la date d'aujourd'hui par exemple, un tableau qui représente l'ensemble des heures avec l'id_état correspondant de la table horaires. Pour cela il me faut savoir le jour correspondant à la date. C'est à dire pour le 09/03/2010 il faut que sa m'affiche "Mardi". Dans la table horaires, les jours correspondent à un numéro, 1=Lundi, 2=Mardi etc...

    Aperçu du tableau souhaité :

    Pour le "Mardi - 09/03/2010"

    10h......11h......12h.......13h.......14h........15h........16h.......17h.......18h
    1...........2.........2..........1..........3............0...........0..........3...........1

    La ligne en dessous des heures correspondant au id_etat.

    Quelqu'un à-t-il déjà réaliser ce type de tableau et pourrait m'aider dans la conception de celui-ci? Merci!

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Par défaut
    toujours pas de réponse... une arraylist est je pense la meilleure solution. quand pensez vous?

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Pour commencer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        // Définition le fuseau horaire par défaut à utiliser.
        date_default_timezone_set('UTC');    // GMT à voir
        $today = date("N");  // Te retourne 1 à 7 pour Lundi à Dimanche
     
        // Requête de ce que tu veux, ici une jointure entre horaires et etat
        ....
     
        // Lecture et affichage de tes résultats
        .... // Regarde le lien sur l'affichage des données à partir d'un Bdd ci dessous
    http://j-reaux.developpez.com/tutori...-tableau-html/

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Par défaut
    merci fench de ta réponse,
    je viens de tester ce que tu m'as dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    date_default_timezone_set('UTC');    // GMT à voir
    $today = date("N");  // Te retourne 1 à 7 pour Lundi à Dimanche
    cela doit m'afficher quoi au juste?

    je viens de tester et cela m'affiche 1 et 3.
    3 pour mercredi mais le 1....

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    je viens de tester et cela m'affiche 1 et 3.
    3 pour mercredi mais le 1....
    Tu as fait quoi pour avoir un affichage de deux valeurs ???
    Donnes moi le code de départ stp

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Par défaut
    voila mon code pour l'instant :
    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
    <?php
    include ('traitements.php');
    connectDB();
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	// Définition le fuseau horaire par défaut à utiliser.
    	//----------------------------------------------------------------------------------------------------------------------------------------	
        echo date_default_timezone_set('UTC'); // GMT à voir
    	echo "<br>";
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	//Affiche le jour de la date correspondante
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
    	echo $today = date("N");  // retourne 1 à 7 pour Lundi à Dimanche
    	echo "<br>";
    	switch($today)
    	{
    	case 1:
    		echo "Lundi";
    		break;
    	case 2:
    		echo "Mardi";
    		break;
    	case 3:
    		echo "Mercredi";
    		break;
    	case 4:
    		echo "Jeudi";
    		break;
    	case 5:
    		echo "Vendredi";
    		break;
    	case 6:
    		echo "Samedi";
    		break;
    	case 7:
    		echo "Dimanche";
    		break;
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
        // Requête de ce que tu veux, ici une jointure entre horaires et etat
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	$sql= "SELECT heure, id_etat FROM horaires, etat WHERE horaires.id_etat=etat.id_etat";
    	$req = mysql_query($sql) or die(mysql_error());
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
        // Lecture et affichage de tes résultats
    	// Regarde le lien sur l'affichage des données à partir d'un Bdd ci dessous
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
     
     
    ?>
    je procède par étape comme tu me la dit... au niveau de l'affichage je ne vois pas trop comment faire puisque je voudrai un tableau comme ceci :

    Aperçu du tableau souhaité :

    Pour le "Mardi - 09/03/2010"

    10h......11h......12h.......13h.......14h........15h........16h.......17h.......18h
    1...........2.........2..........1..........3............0...........0..........3...........1

    La ligne en dessous des heures correspondant au id_etat.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  2. Regrouper les données par rapport à la date
    Par goldeagle dans le forum Access
    Réponses: 7
    Dernier message: 11/12/2006, 15h35
  3. Réponses: 7
    Dernier message: 31/07/2006, 13h50
  4. Réponses: 7
    Dernier message: 05/04/2006, 11h22
  5. [MySQL] Select count par rapport à une date
    Par ruty dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 02/04/2006, 22h17

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