Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2006, 08h20   #1
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Par défaut [Conception] Calendrier, affichage d'évènement

Salut à tous,
Grâce à une fonction trouver sur internet j'ai pu réaliser un calendrier sur lequel j'affiche des événement contenu dans une bases de données.

Pour le moment voici ce que j'avais fait :

Code :
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
for($i=1;$i<=42;$i++)
	{
		if($i % 7 == 1 ) //si il reste un, on commence forcement une nouvelle ligne	
		{
			echo "<tr>";
		}
 
		if(($dp <= $i)&&($jour_actuel <= $nbjour))//si nous sommes apres le numero du premier jour et que nous n avons pas
		{ //passé le 30 ou 31 
			$time_dujour = mktime(1,1,1,$mois,$jour_actuel,$annee);
			// Récupération des évènements de la base de données
			$requete = 'SELECT * FROM calendrier WHERE date_debut = $time_dujour';
	$envoi=mysql_query($requete) or die ('Erreur sur la requête <b>'.$requete.'</b> : <span style="color: red;">'.mysql_error().'</span>');
 
	while($data=mysql_fetch_array($envoi))
	{
		$titre = $data['titre'];
		$date_debut = $data['date_debut'];
		$date_fin = $data['date_fin'];
		$periode = ($date_fin - $date_debut); // Calcul le nombre de jour de location
		$periode = ($periode/86400)+1;
 
	}		
			if(($date_debut==$time_dujour))
			echo '<td bgcolor="#E65049"><b>'.$jour_actuel.'</b><br>'.$titre.'</td>' ;
			elseif($periode>0)
			echo '<td bgcolor="#E65049"><b>'.$jour_actuel.'</b><br>'.$titre.'</td>' ;
			else
			echo '<td bgcolor="#00CC66"><b>'.$jour_actuel.'</b><br>'.$time_dujour.'</td>' ; //on affiche
			$jour_actuel++;
			if($periode>0)
			$periode--;
		}
Vous en conviendrez ce n'est guère respectueux pour le serveur qui se mange 42 requetes pour chaque affichage de mois.
Je souhaite donc sortir ma requete de la boucle for :

Code :
1
2
$requete = 'SELECT * FROM calendrier';
$envoi=mysql_query($requete) or die ('Erreur sur la requête <b>'.$requete.'</b> : <span style="color: red;">'.mysql_error().'</span>');
Jusque là tout va bien. Mais la ou je bloque c'est comment mettre le résultat de ma requete (donc par exemple mes 50 événements ) dans une variable mais surtout comment parcourir ce tableau dans ma boucle for afin d'arriver au même résultat que mes 42 requetes

Merci pour vos réponses
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 11h34   #2
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
Comment est organisée ta table ?
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h23.


 
 
 
 
Partenaires

Hébergement Web