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

Langage PHP Discussion :

Ajouter des évènements dans mon calendrier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 21
    Points
    21
    Par défaut Ajouter des évènements dans mon calendrier
    Bonjour, apres de longue recherche j'ai réussi a trouver un script pour un calendrier qui me plaisais apres quelques petites modifs. Mais mon grand problème est que je n'arrive pas a le faire communiquer avec ma base de donnée.

    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
    <?php
    // Récuperation des variables passées, on donne soit année; mois; année+mois
    if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
    if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
     
    // pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
    if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
    elseif($num_mois > 12) {	$num_mois = 1; $num_an = $num_an + 1; }
     
    // nombre de jours dans le mois et numero du premier jour du mois
    $int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
    $int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
     
    // tableau des jours, tableau des mois...
    $tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
    $tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
    $int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
    $int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
     
    // on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
    $tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
    $int_premj = ($int_premj == 0)?7:$int_premj;
    $t = 1; $p = "";
    for($i=0;$i<6;$i++) {
    	for($j=0;$j<7;$j++) {
    		if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
    		elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
    		elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
    		elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
    	}
    }
    ?>
     
    <?php
    // Récuperation des variables passées, on donne soit année; mois; année+mois
    if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
    if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
     
    // pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
    if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
    elseif($num_mois > 12) {	$num_mois = 1; $num_an = $num_an + 1; }
     
    // nombre de jours dans le mois et numero du premier jour du mois
    $int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
    $int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
     
    // tableau des jours, tableau des mois...
    $tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
    $tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
    $int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
    $int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
     
    // on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
    $tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
    $int_premj = ($int_premj == 0)?7:$int_premj;
    $t = 1; $p = "";
    for($i=0;$i<6;$i++) {
    	for($j=0;$j<7;$j++) {
    		if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
    		elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
    		elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
    		elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
    	}
    }
    ?>
     
    <table>
    	<tr><td colspan="7" align="center"><a href="index.php?mois=<?php echo $num_mois-1; ?>&amp;annee=<?php echo $num_an; ?>" rel="nofollow">&lt;&lt; <?php echo $tab_mois[$num_mois-1];  ?></a>&nbsp;&nbsp;<?php echo $tab_mois[$num_mois];  ?>&nbsp;&nbsp;<a href="index.php?mois=<?php echo $num_mois+1; ?>&amp;annee=<?php echo $num_an; ?>" rel="nofollow"><?php echo $tab_mois[$num_mois+1];  ?> >></a></td></tr>
    	<tr><td colspan="7" align="center"><a href="index.php?mois=<?php echo $num_mois; ?>&amp;annee=<?php echo $num_an-1; ?>" rel="nofollow">&lt;&lt; <?php echo $num_an-1;  ?></a>&nbsp;&nbsp;<?php echo $num_an;  ?>&nbsp;&nbsp;<a href="index.php?mois=<?php echo $num_mois; ?>&amp;annee=<?php echo $num_an+1; ?>" rel="nofollow"><?php echo $num_an+1;  ?> >></a></td></tr>
    	<?php
    	echo'<tr>';
    	for($i = 1; $i <= 7; $i++){
    		echo('<td>'.$tab_jours[$i].'</td>');
    	}
    	echo'</tr>';
     
    	for($i=0;$i<6;$i++) {
    		echo "<tr>";
    		for($j=0;$j<7;$j++) {
    			echo "<td".(($num_mois == date("n") && $num_an == date("Y") && $tab_cal[$i][$j] == date("j"))?' style="color: #FFFFFF; background-color: #000000;"':null).">".((strpos($tab_cal[$i][$j],"*")!==false)?'<font color="#aaaaaa">'.str_replace("*","",$tab_cal[$i][$j]).'</font>':$tab_cal[$i][$j])."</td>";
    		}
    		echo "</tr>";
    	}
    	?>
    </table>
    et ma table est constitué de 4 champs, id date( format YYYY-MM-JJ ) titre contenu

    j'avais comme idée de faire une requête sql avec LIKE YYYY-MM% pour récupéré tous les evements du moi pour ensuite réussir a faire en sorte de les insérer dans le calendrier avec une infobulle sur ce jour affichant le titre de l’évènement qui est un lien vers la page de l’évènement. mais sa ce n'est pas le problème

    Mon problème consiste a savoir comment et surtout quand formuler la requête et comment faire pour faire en sorte que ceci s'ajoute dans ce calendrier.

    Donc ci quelqu'un pourrait m'aiguillé pour arriver a mes fins sa serais cool.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    Petite précision. Apres des heures passés à chercher et une bonne nuit de sommeil, je pense que tout mon problème à lieu au niveau de la ligne 28 ou sa ajoute les jours du mois en cours ( car après si sur les numéros en grisé des moi d'avant il n'y a pas les évènement ceci n'est pas un problème ).

    Donc mon problème est que je ne maîtrise pas si bien que sa tout le script que j'ai récupéré et surtout que je ne vois pas comment faire pour faire ma requête ( qui stock tous les évènements du moi ( et par la suite ceux du moi d'avant et d'après ) car je pense qu'il ne faut pas faire une requête pour chaque jours qui se présente sinon sa risque d’être très long a s’exécute.

    donc si quelqu'un pourrait m'expliquer ou bien si quelqu'un a un exemple tout simple mais très bien détailler ( et de préférence entièrement modifiable en css pour l'intégrer parfaitement )

    Car j'ai déja tester http://j-seignalet.developpez.com/tu...ax/calendrier/ mais le probleme est que ce calendrier la ne marche pas, et qu'apres beaucoup de recherche sur ce forum et sur d'autre, beaucoup de solution sont données, mais aucune n'a l'air de fonctionner.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 21
    Points
    21
    Par défaut
    je viens d'essayer de le modifier pour effectuer une recherche dans la base de donnée et apres a chaque jours vérifier si il y a un evenement pour ce jour ci. et si oui pour le moment ecrire youpi ( c'est juste pour l'essai car ci ceci fonctionne apres je serais capable de le remplacer par ce que je veux )

    La requete s'effectue sans erreur mais lors de la verification sa ne donne rien. donc soit il y a un soucis dans la récupération de donnée ou sois il y a une erreur dans la vérification si le jour correspond a une date de la reponse sql.

    Pensanrt que ceci pouvais venir de zero manquant ( surtout pour le moi ) j'ai rajouter moi meme un 0 devant $num_moi dans la requete pour faire l'essai avec le moi d'aujourd'hui ainsi que dans la condition du if mais rien n'y fait sa ne fait rien.

    donc la je desespere:

    Le code en entier:
    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
    <?php
    include("config/config.php");
    mysql_connect("$host", "$user_bdd", "$pass_bdd");
    mysql_select_db("$bdd");
    // Récuperation des variables passées, on donne soit année; mois; année+mois
    if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
    if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
     
    // pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
    if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
    elseif($num_mois > 12) {	$num_mois = 1; $num_an = $num_an + 1; }
     
    // nombre de jours dans le mois et numero du premier jour du mois
    $int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
    $int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
     
    // tableau des jours, tableau des mois...
    $tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
    $tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
    $int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
    $int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
     
    // on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
    $tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
    $int_premj = ($int_premj == 0)?7:$int_premj;
    $t = 1; $p = "";
    for($i=0;$i<6;$i++) {
    	for($j=0;$j<7;$j++) {
    		if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
    		elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
    		elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
    		elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
    	}
    }
    ?>
     
    <?php
    // Récuperation des variables passées, on donne soit année; mois; année+mois
    if(!isset($_GET['mois'])) $num_mois = date("n"); else $num_mois = $_GET['mois'];
    if(!isset($_GET['annee'])) $num_an = date("Y"); else $num_an = $_GET['annee'];
     
    // pour pas s'embeter a les calculer a l'affchage des fleches de navigation...
    if($num_mois < 1) { $num_mois = 12; $num_an = $num_an - 1; }
    elseif($num_mois > 12) {	$num_mois = 1; $num_an = $num_an + 1; }
     
    // nombre de jours dans le mois et numero du premier jour du mois
    $int_nbj = date("t", mktime(0,0,0,$num_mois,1,$num_an));
    $int_premj = date("w",mktime(0,0,0,$num_mois,1,$num_an));
     
    // tableau des jours, tableau des mois...
    $tab_jours = array("","Lu","Ma","Me","Je","Ve","Sa","Di");
    $tab_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
    $int_nbjAV = date("t", mktime(0,0,0,($num_mois-1<1)?12:$num_mois-1,1,$num_an)); // nb de jours du moi d'avant
    $int_nbjAP = date("t", mktime(0,0,0,($num_mois+1>12)?1:$num_mois+1,1,$num_an)); // b de jours du mois d'apres
     
    // on affiche les jours du mois et aussi les jours du mois avant/apres, on les indique par une * a l'affichage on modifie l'apparence des chiffres *
    $tab_cal = array(array(),array(),array(),array(),array(),array()); // tab_cal[Semaine][Jour de la semaine]
    $int_premj = ($int_premj == 0)?7:$int_premj;
    $t = 1; $p = "";
    for($i=0;$i<6;$i++) {
    	for($j=0;$j<7;$j++) {
    		if($j+1 == $int_premj && $t == 1) { $tab_cal[$i][$j] = $t; $t++; } // on stocke le premier jour du mois
    		elseif($t > 1 && $t <= $int_nbj) { $tab_cal[$i][$j] = $p.$t; $t++; } // on incremente a chaque fois...
    		elseif($t > $int_nbj) { $p="*"; $tab_cal[$i][$j] = $p."1"; $t = 2; } // on a mis tout les numeros de ce mois, on commence a mettre ceux du suivant
    		elseif($t == 1) { $tab_cal[$i][$j] = "*".($int_nbjAV-($int_premj-($j+1))+1); } // on a pas encore mis les num du mois, on met ceux de celui d'avant
    	}
    }
    ?>
     
    <table>
    	<tr><td colspan="7" align="center"><a href="index.php?mois=<?php echo $num_mois-1; ?>&amp;annee=<?php echo $num_an; ?>" rel="nofollow">&lt;&lt; <?php echo $tab_mois[$num_mois-1];  ?></a>&nbsp;&nbsp;<?php echo $tab_mois[$num_mois];  ?>&nbsp;&nbsp;<a href="index.php?mois=<?php echo $num_mois+1; ?>&amp;annee=<?php echo $num_an; ?>" rel="nofollow"><?php echo $tab_mois[$num_mois+1];  ?> >></a></td></tr>
    	<tr><td colspan="7" align="center"><a href="index.php?mois=<?php echo $num_mois; ?>&amp;annee=<?php echo $num_an-1; ?>" rel="nofollow">&lt;&lt; <?php echo $num_an-1;  ?></a>&nbsp;&nbsp;<?php echo $num_an;  ?>&nbsp;&nbsp;<a href="index.php?mois=<?php echo $num_mois; ?>&amp;annee=<?php echo $num_an+1; ?>" rel="nofollow"><?php echo $num_an+1;  ?> >></a></td></tr>
    	<?php
     
    	$retour = mysql_query("SELECT * FROM calendrier WHERE date LIKE '$num_an-0$num_moi%'") or die('erreur');
     
     
    	echo'<tr>';
    	for($i = 1; $i <= 7; $i++){
    		echo('<td>'.$tab_jours[$i].'</td>');
    	}
    	echo'</tr>';
     
    	for($i=0;$i<6;$i++) {
    		echo "<tr>";
    		for($j=0;$j<7;$j++) {
    			$datewhile = $num_an.'-0'.$num_moi.'-'.$tab_cal[$i][$j];
    			while ($donnees = mysql_fetch_array($retour)) {
    			if ($donnees['date'] == $datewhile){
    			echo "<td>youpi</td>";
    			} else {
    			echo "<td".(($num_mois == date("n") && $num_an == date("Y") && $tab_cal[$i][$j] == date("j"))?' style="color: #FFFFFF; background-color: #000000;"':null).">".((strpos($tab_cal[$i][$j],"*")!==false)?'<font color="#aaaaaa">'.str_replace("*","",$tab_cal[$i][$j]).'</font>':$tab_cal[$i][$j])."</td>";
    		}}}
    		echo "</tr>";
    	}
    	?>
    </table>
    <?php
    mysql_close();
    ?>
    la partie du code que j'ai modifié:
    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
    	<?php
     
    	$retour = mysql_query("SELECT * FROM calendrier WHERE date LIKE '$num_an-0$num_moi%'") or die('erreur');
     
     
    	echo'<tr>';
    	for($i = 1; $i <= 7; $i++){
    		echo('<td>'.$tab_jours[$i].'</td>');
    	}
    	echo'</tr>';
     
    	for($i=0;$i<6;$i++) {
    		echo "<tr>";
    		for($j=0;$j<7;$j++) {
    			$datewhile = $num_an.'-0'.$num_moi.'-'.$tab_cal[$i][$j];
    			while ($donnees = mysql_fetch_array($retour)) {
    			if ($donnees['date'] == $datewhile){
    			echo "<td>youpi</td>";
    			} else {
    			echo "<td".(($num_mois == date("n") && $num_an == date("Y") && $tab_cal[$i][$j] == date("j"))?' style="color: #FFFFFF; background-color: #000000;"':null).">".((strpos($tab_cal[$i][$j],"*")!==false)?'<font color="#aaaaaa">'.str_replace("*","",$tab_cal[$i][$j]).'</font>':$tab_cal[$i][$j])."</td>";
    		}}}
    		echo "</tr>";
    	}
    	?>

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

Discussions similaires

  1. Comment ajouter des langues dans mon application
    Par yassin123441 dans le forum Windows Phone
    Réponses: 3
    Dernier message: 21/03/2013, 19h57
  2. Ajouter un événement dans le calendrier iPhone
    Par SebPolytech dans le forum Objective-C
    Réponses: 1
    Dernier message: 02/09/2011, 12h40
  3. Ajouter un évènement dans le calendrier
    Par Beetle dans le forum Android
    Réponses: 7
    Dernier message: 28/03/2011, 18h00
  4. [XMLBEANS] Surfer et ajouter des noeuds dans mon XML
    Par akrogames dans le forum APIs
    Réponses: 0
    Dernier message: 05/12/2010, 17h16
  5. Réponses: 2
    Dernier message: 24/03/2010, 18h47

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