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 :

Recherche de résultat dans données stockée [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é
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Par défaut Recherche de résultat dans données stockée
    Bonjour à tous,

    Je souhaite stocker les résultats d'une requête et les afficher dans une boucle for.

    Je stock donc mes résultats dans un tableau associatif :

    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
     
    $retour = mysql_query("	
    		SELECT p.id_planning, p.etat_planning, p.note, p.objet, p.emplacement, p.date_rdv, p.heure_rdv
    		FROM planning p
    		WHERE WEEK(date_rdv)='".$num_semaine."'
    		ORDER BY p.date_rdv, p.heure_rdv");
     
    $planning = array();
    while ($donnees = mysql_fetch_array($retour)) 
    {
    	$date_rdv = substr($donnees['date_rdv'], -2, 2);
    	$heure_rdv = substr($donnees['heure_rdv'], -2, 2);
     
    	$rdv = array('objet' => $donnees['objet'], 'emplacement' => $donnees['emplacement']);
    	$planning[$date_rdv][$heure_rdv] = $rdv;
    }
    Ensuite je réalise une boucle for ou je souhaite ressortir les données stockées :

    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
     
     
    $jours = array (	"", 
    					"Lundi ".date('d', $_GET['date_plan']+(86400*0)), 
    					"Mardi ".date('d', $_GET['date_plan']+(86400*1)), 
    					"Mercredi ".date('d', $_GET['date_plan']+(86400*2)),
    					"Jeudi ".date('d', $_GET['date_plan']+(86400*3)), 
    					"Vendredi ".date('d', $_GET['date_plan']+(86400*4)), 
    					"Samedi ".date('d', $_GET['date_plan']+(86400*5)), 
    					"Dimanche ".date('d', $_GET['date_plan']+(86400*6)));
     
    $heures = array (	"08:00", "08:30", 
    					"09:00", "09:30", 
    					"10:00", "10:30", 
    					"11:00", "11:30",
    					"12:00", "12:30", 
    					"13:00", "13:30", 
    					"14:00", "14:30", 
    					"15:00", "15:30",
    					"16:00", "16:30", 
    					"17:00", "17:30", 
    					"18:00", "18:30");
     
     
    echo '<table width="100%" cellpadding="0" cellspacing="0" border="0">';
    echo '<tr style="color:#FFFFFF; background-color: #666666;">';
    foreach ($jours as $jour)
    	{
    	echo '<th style="border-bottom: 1px solid #000000; border-left: 1px solid #000000;">'.$jour.'</th>';
    	}
    echo '</tr>';
    $i=1;
    $j=1;
    foreach ($heures as $heure)
    	{
    	if ($i==2) { $i=0; $bord_bas = "border-bottom: 1px solid #608c21;"; } else { $bord_bas = "";}
    	$i++;
    	echo '<tr>';
    	$minute = substr($heure, -2, 2);
     
    	if ($minute == '00') { $bord = "border-bottom: 1px solid #CCC;"; } else { $bord = "border-bottom: 1px solid #608c21;"; }
    	foreach ($jours as $jour)
    		{
     
     
     
    	//	Affichage de la première colonne 
    		if (empty($jour)) 
    			{
    			echo '<td style="width: 3%; height: 25px; text-align: center; border-left: 1px solid #CCC; border-right: 1px solid #CCC; '.$bord_bas.'">';	
     
    			if ($minute == '00')
    				{	
    				echo substr($heure, 0, 2).'<sup>00</sup>'; 
    				}
    			}
    	// Affichage des jours de la semaine		
    		else
    			{
    			echo '<td style="height: 25px; border-right: 1px solid #CCC; width: 13.86%; '.$bord.'">';
    			$date = substr($jour, -2, 2);
     
    			//echo '['.$date.']['.$heure.']';
    				if (isset($planning[$date][$heure]))
    				{
    					$rdv = $planning[$jour][$heure];
    					echo 'Objet du rendez-vous : '.$rdv['objet'];
    				}
    				else
    				{
    					echo '';
    				}
     
    			}
     
     
    		echo '</td>';	
     
    	}
    	echo '</tr>';
    }
    echo '</table>';
    Au final rien ne se passe, aucune donnée ne s'affiche.

    Merci d'avance de votre aide.

  2. #2
    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
    Par défaut
    En dehors du fait que tu t'es trompé la entre $jour et $date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($planning[$date][$heure]))
    				{
    					$rdv = $planning[$date][$heure];
    					echo 'Objet du rendez-vous : '.$rdv['objet'];
    				}
    ton planning fonctionne.

    Personnellement j'utiliserais un champ date/time dans mysql et je construirais mon planning avec le timestamp en index, cela evite de devoir redecouper jour et heure comme tu le fais.
    De plus cela permet de faire des vues illimitées en période.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 261
    Par défaut
    Merci beaucoup de ton aide et de tes conseils !
    cela fonctionne !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/02/2008, 16h01
  2. Réponses: 10
    Dernier message: 26/06/2007, 14h14
  3. Réponses: 3
    Dernier message: 28/05/2007, 13h11
  4. Réponses: 3
    Dernier message: 02/02/2007, 14h30
  5. [VBA-E] Fonction rechercher et afficher le résultat dans l'UF
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/08/2006, 11h17

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