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 d'un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut affichage d'un tableau
    Encore moi

    Je m'explique, j'ai un tableau qui affiche mes horaires, et un autres tableau qui affiche mes évènements. Ces deux tableaux affiche les mêmes champs :
    - heures sur la 1ère ligne
    - id_état sur la 2ème ligne

    voici l'aperçu de ces 2 tableaux :


    Ce que je souhaite faire c'est réaliser un tableau avec ces 2 tableaux.

    Quelqu'un sait-il comment procéder?? Doit-je stocker mes résultats des 2 tableaux précédent dans une arraylist? Merci

    Voici le code des deux tableaux :
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <?php
    include ('traitements.php');
    connectDB();
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	//Affichage du jour de la date correspondante
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
    	echo "Nous sommes le : ";
    	$today = date("N");  // retourne 1 à 7 pour Lundi à Dimanche
     
    	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;
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Affichage de la date
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	echo $aujourdhui = date(" d/m/Y");   
    	echo "<br>";
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	// Définition le fuseau horaire par défaut à utiliser.
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
        date_default_timezone_set('UTC'); // GMT à voir
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Début 
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	echo "<br>";
    	echo "Table des horaires d'ouverture :";
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
        // Requête 
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
    	$sql= "SELECT heure, id_etat_horaire FROM horaires, etat WHERE horaires.id_etat_horaire=etat.id_etat AND jour=$today ORDER BY heure*1 ASC";
    	//le *1 force la transformation en nombre puisque le champ heure dans la table est en varchar et non en int.
    	$req = mysql_query($sql) or die(mysql_error());
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// nombre de cellules a remplir
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	$NbreData = mysql_num_rows($req);
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// affichage tableau horaires
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	if ($NbreData != 0)  
    	{
    		echo '<table border="1" cellspacing="0"><tr>';
     
    		while ($val = mysql_fetch_array($req)) 
    		{
    			echo '<td><table border="1" rules="rows">';
    			echo '<tr><td>'.$val['heure'].'</td></tr>';	
    			echo '<tr><td>'.$val['id_etat_horaire'].'</td></tr>';
    			echo '</table></td>';
    		}
     
    		echo '</tr></table>';
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Fin
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Début 
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	echo "<br>";
    	echo "Table des heures d'évènements :";
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
        // Requête 
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	$sql= "SELECT heure, id_etat_evenement FROM evenements, etat WHERE evenements.id_etat_evenement=etat.id_etat ORDER BY heure*1 ASC";
    	//le *1 force la transformation en nombre puisque le champ heure dans la table est en varchar et non en int.
    	$req = mysql_query($sql) or die(mysql_error());
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// nombre de cellules a remplir
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	$NbreData = mysql_num_rows($req);
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// affichage tableau evenements
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	if ($NbreData != 0)  
    	{
    		echo '<table border="1" cellspacing="0"><tr>';
     
    		while ($val = mysql_fetch_array($req)) 
    		{
    			echo '<td><table border="1" rules="rows">';
    			echo '<tr><td>'.$val['heure'].'</td></tr>';	
    			echo '<tr><td>'.$val['id_etat_evenement'].'</td></tr>';
    			echo '</table></td>';
    		}
     
    		echo '</tr></table>';
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Fin
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
     
    ?>
    Images attachées Images attachées  

  2. #2
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Et encore moi

    Ce que je souhaite faire c'est réaliser un tableau avec ces 2 tableaux.
    Plus de précisions STP
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    c'est gentil de ta part fench de me répondre

    alors ce que je souhaite afficher c'est un tableau ou l'on retrouve dedans :
    - une première ligne avec toutes les heures (de 0 à 24 heures si possible)
    - une seconde ligne avec l'id_état correspondant.

    Mais pour cette seconde ligne :

    L'id_état est par défaut dans le tableau horaires (heures d'ouverture) et est aussi enregistré dans le tableau évènements.

    Je veux qu'il change lorsqu'il y a un évènement.

    Exemple :
    De 8h à 9h -> la piste est déclaré "sur réservation" (id_etat : 1) dans la table horaires.
    De 8h à 9h -> la piste est déclaré "réservée" (id_etat : 3) dans la table évènements.

    Dans mon tableau final on verra :

    8h.....9h.....
    3...............

    je ne sait pas si je suis bien précis

  4. #4
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Dans ce cas, tu utilises une table de 0 à 23 avec la valeur de l'état.

    Pour l'affichage final, ça tu sais faire maintenant (au lieu de lire une requête c une table )

    Reste de remplir la table avec les deux requête et là ce n'est pas super compliqué, je pense.
    Pour chaque requête, tu as un $val['heure'] et un $val['id_etat']. Mettons que le tableau est $arrayEtat alors qd tu va parcourir la première (puis deuxième requête), tu fais un $arrayEtat[$val['heure']] = $val['id_etat'];

    Voilà, je pense que tu as tous les éléments, bon codage ...
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    désolé je m'étais eclipsé! je vais essayer de faire ce que tu m'as dit....
    lorsque tu dis "tu utilises une table de 0 à 23 avec la valeur de l'état." il faut que je créer un table dans ma base de données? ou simplement un tableau? j'ai pas trop compris...

  6. #6
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Non, quelle chance! ce soir je fête mon dossier Inra

    Pas super en forme mais j'ai le tic du PC alors:

    La table c pour affichage futur avec l'index des jours et ça roule

    PAS DS LA BASE $array C JUSTE POUR L'AFFICHAGE
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  7. #7
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    félicitations!

    t'aurais pas un exemple a me faire voir parce que la je suis largué

    Les 2 codes que j'ai fait avant vont me servir nan? puisque sa m'affichai les 2 tableaux...

  8. #8
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Ecoutes on verra ça demain mais essayes de mettre tout dans un tableau comme je te l'ais dit puis en reparle demain

    Bonne soirée
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  9. #9
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    en plein dans le codage!!

    alors j'ai commencé ce que tu m'as dit :

    Le premier tableau représente les heures :
    $tab1 = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23);

    le problème c'est que je ne vois pas du tout comment l'incrémenter avec des requêtes. Si on pouvais me donner un exemple? merci

  10. #10
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Un peu tard ce matin (fallait que je récupère ) ...

    Alors je te donne un début de code sur la première requête

    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
     
    // $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
    // Initialisation de $tab1 à 0 pour les indices 0 à 23 (pour affichage ensuite)
    // L'init sera à 0, à toi de voir pour prendre un état par défaut
     
    // Lecture première requête et mise à jour ...
    $sql= "SELECT heure, id_etat_horaire FROM horaires, etat WHERE horaires.id_etat_horaire=etat.id_etat AND jour=$today ORDER BY heure*1 ASC";
    $req = mysql_query($sql) or die(mysql_error());
    while ($val = mysql_fetch_array($req)) {
         $tab1[$val['heure']] = $val['id_etat'];
    }
     
    // En sortie de cette requête tu auras la mise à jour des états pour chaque
    // indice de 0 à 23
     
    // Je te laisse continuer
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  11. #11
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Bonjour a toi,

    alors je viens d'essayer ce que tu m'as donnée et je comprends pas tout

    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
    echo "Tableau final :";
     
    	// $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
    	// Initialisation de $tab1 à 0 pour les indices 0 à 23 (pour affichage ensuite)
    	// L'init sera à 0, à toi de voir pour prendre un état par défaut
     
    	$tab1 = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23);
     
    	// Lecture première requête et mise à jour ...
    	$sql= "SELECT heure, id_etat_horaire FROM horaires, etat WHERE horaires.id_etat_horaire=etat.id_etat AND jour=$today ORDER BY heure*1 ASC";
    	$req = mysql_query($sql) or die(mysql_error());
     
    		echo '<table border="1" cellspacing="0"><tr>';
     
    		while ($val = mysql_fetch_array($req)) 
    			{
    				$tab1[$val['heure']] = $val['id_etat_horaire'];
    				echo '<td><table border="1" rules="rows">';
    				echo '<tr><td>'.$val['heure'].'</td></tr>';	
    				echo '<tr><td>'.$val['id_etat_horaire'].'</td></tr>';
    				echo '</table></td>';
    			}
     
    		echo '</tr></table>';
     
    	// En sortie de cette requête tu auras la mise à jour des états pour chaque indice de 0 à 23
     
    	// $tab2 sera un tableau avec les id_etat des evenements
     
    	$tab2= array();
     
    	// Lecture deuxième requête et mise à jour ...
    	$sql= "SELECT heure, id_etat_evenement FROM evenements, etat WHERE evenements.id_etat_evenement=etat.id_etat AND date_evenement=NOW() ORDER BY heure*1 ASC";
    	$req = mysql_query($sql) or die(mysql_error());
     
    			echo '<table border="1" cellspacing="0"><tr>';
     
    		while ($val = mysql_fetch_array($req)) 
    			{
    				$tab1[$val['heure']] = $val['id_etat_evenement'];
    				echo '<td><table border="1" rules="rows">';
    				echo '<tr><td>'.$val['heure'].'</td></tr>';	
    				echo '<tr><td>'.$val['id_etat_evenement'].'</td></tr>';
    				echo '</table></td>';
    			}
     
    		echo '</tr></table>';
    Cela me donne deux tableaux :


    Jusque la tout va bien! ce que je souhaite maintenant c'est d'en avoir un seul sachant que le premier est celui par défaut et c'est donc le deuxième qui va le remplacer (je parle au niveau des valeurs des id_etat)

    je sais pas si je suis assez précis mais il doit y avoir une fonction qui existe non pour mettre en relation 2 tableaux??? merci
    Images attachées Images attachées  

  12. #12
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    je test différentes choses mais je n'y arrive toujours pas!!! grrr
    pour ceux qui veulent voir l'ensemble du projet je le met en .rar! si quelqu'un à la solution qu'il n'hésite pas!
    Fichiers attachés Fichiers attachés

  13. #13
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Voici le code reste l'affichage à faire (c comme avant mais avec un tableau au lieu d'une requête).

    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
     
    // $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
    // Initialisation de $tab1 à 0 pour les indices 0 à 23 (pour affichage ensuite)
    // L'init sera à 0, à toi de voir pour prendre un état par défaut
     
    $tab1 = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
     
    // Lecture première requête et mise à jour ...
    $sql= "SELECT heure, id_etat_horaire FROM horaires, etat WHERE horaires.id_etat_horaire=etat.id_etat AND jour=$today ORDER BY heure*1 ASC";
    $req = mysql_query($sql) or die(mysql_error());
    while ($val = mysql_fetch_array($req)) 
    	$tab1[$val['heure']] = $val['id_etat_horaire'];
    // En sortie de cette requête tu auras la mise à jour des états pour chaque indice de 0 à 23
     
     
    // Lecture deuxième requête et mise à jour si il y a des valeurs <>
    $sql= "SELECT heure, id_etat_evenement FROM evenements, etat WHERE evenements.id_etat_evenement=etat.id_etat AND date_evenement=NOW() ORDER BY heure*1 ASC";
    $req = mysql_query($sql) or die(mysql_error());
    while ($val = mysql_fetch_array($req)) 
    	$tab1[$val['heure']] = $val['id_etat_evenement'];
     
     
    // Affichage du tableau
    echo '<table border="1" cellspacing="0"><tr>';
    for ($i = 0; $i <= 23; $i++) {
    	echo '<td><table border="1" rules="rows">';
    	echo '<tr><td>'.$i.'</td></tr>';	
    	echo '<tr><td>'.$tab1[$i].'</td></tr>';
    	echo '</table></td>';
    }
    echo '</tr></table>';
    A tester A+
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  14. #14
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    merci fench de ta solution sa marche parfaitement! voila ce que sa m'affiche :


    On voit bien dans le tableau final que celui ci est incrémenter par rapport aux deux tableaux précédents.

    pourquoi as-tu mis reste l'affichage à faire?
    Images attachées Images attachées  

  15. #15
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    pourquoi as-tu mis reste l'affichage à faire?
    Au début, je voulais que tu fasses l'affichage tout seul histoire de voir si tu avait compris MAIS dans l'élan, j'ai tout fait
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  16. #16
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    d'accord c'est ce que je pensais! en tout cas merci à toi car la je galèrais a essayer de faire ça avec des fonctions dont moi seul j'ai le secret... dernière petite question : si je veux remplacer les 0, 1, 2, 3 par des petites images de différentes couleurs c'est quoi le plus simple? un switch case sur $i ??

  17. #17
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    je poste mon code complet car sa ne fonctionne toujours pas mon switch à la fin et je suis a cours d'idée j'ai tout tenté

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <?php
    include ('traitements.php');
    connectDB();
     
    	//----------------------------------------------------------------------------------------------------------------------------------------	
    	//Affichage du jour de la date correspondante
    	//----------------------------------------------------------------------------------------------------------------------------------------	
     
    	echo "Nous sommes le : ";
    	$today = date("N");  // retourne 1 à 7 pour Lundi à Dimanche
     
    	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;
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Affichage de la date
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	echo $aujourdhui = date("d/m/Y");   
    	echo "<br>";
    	echo "<br>";
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Début 
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    	echo "Tableau final :";
     
    	// $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
    	// Initialisation de $tab1 à 0 pour les indices 0 à 23 (pour affichage ensuite)
    	// L'init sera à 0, à toi de voir pour prendre un état par défaut
     
    	$tab1 = array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
     
    	// Lecture première requête et mise à jour ...
    	$sql= "SELECT heure, id_etat_horaire FROM horaires, etat WHERE horaires.id_etat_horaire=etat.id_etat AND jour=$today ORDER BY heure*1 ASC";
    	$req = mysql_query($sql) or die(mysql_error());
     
    	while ($val = mysql_fetch_array($req)) 
    	{
    		$tab1[$val['heure']] = $val['id_etat_horaire'];
    	}
     
    	// En sortie de cette requête tu auras la mise à jour des états pour chaque indice de 0 à 23
     
     
    	// Lecture deuxième requête et mise à jour si il y a des valeurs <>
    	$sql= "SELECT heure, id_etat_evenement FROM evenements, etat WHERE evenements.id_etat_evenement=etat.id_etat AND date_evenement=NOW() ORDER BY heure*1 ASC";
    	$req = mysql_query($sql) or die(mysql_error());
     
    	while ($val = mysql_fetch_array($req)) 
    	{
    		$tab1[$val['heure']] = $val['id_etat_evenement'];
    	}
     
     
    	// Affichage du tableau final
    	echo '<table border="1" cellspacing="0"><tr>';
    	for ($i = 0; $i <= 23; $i++) 
    	{
    		echo '<td><table border="1" rules="rows">';
    		echo '<tr><td>'.$i.'</td></tr>';	
    		echo '<tr><td>'.$tab1[$i].'</td></tr>';
    		echo '</table></td>';
    	}
    	echo '</tr></table>';
     
    	$i = ("");
     
    	switch($tab1[$i])
    	{
    	case 0:
    		echo "<img src='/Calendrier/images/rouge.png'>";
    		break;
    	case 1:
    		echo "<img src='/Calendrier/images/jaune.png'>";
    		break;
    	case 2:
    		echo "<img src='/Calendrier/images/vert.png'>";
    		break;
    	case 3:
    		echo "<img src='/Calendrier/images/bleu.png'>";
    		break;
    	}
     
    	//----------------------------------------------------------------------------------------------------------------------------------------
    	// Fin
    	//----------------------------------------------------------------------------------------------------------------------------------------
     
    ?>
    Si quelqu'un sait faire ce genre de chose...

  18. #18
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut Johan,

    Ton switch, faut que tu le places dans la boucle FOR pour remplacer la valeur du $tab1[$i] par une image non !

    Donc au moment de l'affichage, ton utilises ton switch pour un code entre <td>
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  19. #19
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 271
    Points : 79
    Points
    79
    Par défaut
    Salut fench! merci de m'avoir répondu! en effet ce que je vais faire c'est dans ma base pour chaque id_etat il y aura une image de prédéfini. ce sera plus simple comme ça je pense Qu'est ce que t'en pense?

  20. #20
    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
    Points : 3 390
    Points
    3 390
    Par défaut
    Oui effectivement, c'est mieux si un jour tu décides de changer les images et puis même de manière à faire une interface pour gérer ces images

    EDit: FAit moi un beau codage de tout cela maintenant
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [JSP]affichage d'un tableau sur plusieurs pages
    Par MAJIK_ENIS dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/08/2005, 11h21
  2. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00
  3. Prob d'affichage d'un tableau resultant d'u...
    Par Yohips dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/12/2004, 17h23
  4. [MFC] Affichage d'un tableau
    Par SethPech dans le forum MFC
    Réponses: 7
    Dernier message: 23/02/2004, 15h48
  5. xml-xsl-fo : probleme d'affichage d'un tableau
    Par clindoeil dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 12/12/2003, 12h46

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