100top | bonjours !
voila je veux faire un calendrier pour ma classe !
un seul compte pour tous !
quand il se connecte il peuvent ajouter des trucs dans l'agenda !
je veux quand je crée mon agenda que lorsqu'il y a un evenement il mette en fond la case du jour en rouge
donc je stocke depuis la table des membres dans un tableau array les differentes dates du mois que l'on affiche
et je lui dit in_array( jour_en_cretion , tableau) il me dit non !!
voir code
voila la structure de la table :
Code :
- CREATE TABLE `agenda` (
- `id_a` int(10) NOT NULL auto_increment,
- `ag_msg` varchar(250) NOT NULL default '', // message sur la date
- `ag_m` int(3) NOT NULL default '0', // mois
- `ag_a` int(4) NOT NULL default '0', // année
- `ag_j` int(3) NOT NULL default '0', // jour
- `ag_heure` int(3) NOT NULL default '0', // heure
- `ag_duree` int(3) NOT NULL default '0', // duree
- `a_type` int(2) NOT NULL default '0',
- PRIMARY KEY (`id_a`)
- ) TYPE=MyISAM AUTO_INCREMENT=48 ;
|
Code :
- <?php
- if(!isset($_GET['mois'],$_GET['an']))
- {
- $ts = mktime();
- $tab = getdate($ts);
- $_GET['mois'] = $tab['mon'];
- $_GET['an'] = $tab['year'];
- }
- $id_m=$_SESSION['id_m'];
- $recherche1=$_GET['mois'];
- $recherche2=$_GET['an'];
- include('connexion.php');
- mysql_connect($serveur, $identifiant, $mdp);
- mysql_select_db($bdd) or die($erreur1);
- $sql0="SELECT * FROM $table_agenda WHERE ag_m='$recherche1' and (ag_a='$recherche2' or ag_a='3000') and ag_idm='$id_m' order by ag_heure asc";
- echo $sql0;
- $sql = mysql_query("$sql0" );
- echo mysql_error();
- $numsite = mysql_num_rows($sql);
- $i=0;
- $contenu="''";
- WHILE($numsite!=$i)
- {
- $contenu .= ",'";
- $contenu .= mysql_result($sql,$i,"ag_j" );
- $contenu .="'";
- //;
- $i++;
- }
- $j_agenda = array ($contenu);
- mysql_close(); :hello:
-
- function calendrier($jour,$mois,$annee) //renvoi un calendrier
- {
- //variables
- $font_jour_couleur="#003366";
- $font_jour="#ffffff";
- $bg_jour="#003366";
- $bg_reste="#ffaa00";
- $bg_occ="000000";
- $font="family='Verdana, Arial, Helvetica' size='10Px' ";
- $ts = mktime(1,1,1,$mois,1,$annee); //Recuperation du timestamp du numero du jour de base cad le numero du jour du premier jour du mois ouf !
- $tab = getdate($ts); //Recuperation du numero du jour de base, le numero du jour du premier jour du mois
- $j = 1 ; //premier jour
- $nbjour = date('t',$ts) ;//nombre de jour dans le mois
- $nom_mois = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobtre','Novembre','Décembre');//Nom des moins in French
- //cette sequence corrige le numero du dimanche. PHP donne 0, dans notre cas 7 est préférable, donc..
- if($tab['wday'] == 0)
- {
- $dp = 7 ;
- }
- else
- {
- $dp = $tab['wday'] ;
- }
- //Affichage de l'entête du calendrier
- echo "<table cellpadding='2' cellspacing='1' border='0' width='450'><tr align='center'><td colspan='7'><center>$jour ".$nom_mois[$mois-1]." $annee</center></td></tr><tr align='center'><td><strong>Lundi</strong></td><td><strong>Mardi</strong></td><td><strong>Mercredi</strong></td><td><strong>Jeudi</strong></td><td><strong>Vendredi</strong></td><td><strong>Samedi</strong></td><td><strong>Dimanche</strong></td></tr>";
- //Affichage du calendrier
- for($i=1;$i<=42;$i++)
- {
- if($i % 7 == 1 ) //si il reste un, on commence forcement une nouvelle ligne
- {
- echo "<tr align='center'>";
- }
- if(($dp <= $i)&&($j <= $nbjour))//si nous sommes apres le numero du premier jour et que nous n avons pas
- { //passé le 30 ou 31
- if($j==$jour) { echo "<td bgcolor='$bg_jour'><center><a href=\"?jour=$j&mois=$mois&an=$annee\"><font color='$font_jour'><span class='Style2'>$j</span></font></a></center></td>"; }
- -----
- ici la fonction mettre en rouge s'il y a un événement
- -----
- elseif(in_array($j, $j_agenda)) { echo "<td bgcolor='$bg_occ'><center><a href=\"?jour=$j&mois=$mois&an=$annee\"><font color='$font_jour_couleur'><span class='Style2'>$j</span></font></a></td></center>" ; }
- ----
- reponse :
- Warning: in_array(): Wrong datatype for second argument in calend.php
- -----
- else { echo "<td bgcolor='$bg_reste'><center><a href=\"?jour=$j&mois=$mois&an=$annee\"><font color='$font_jour_couleur'><span class='Style2'>$j</span></font></a></td></center>" ; }
- //on affiche
- $j++;
- }
- else
- {
- echo "<td></td>"; //sinon case vide
- }
- suite du code du calendrier ...
- ?>
|
je comprends pas pourquoi ca ne marche pas !!! Message édité par - janfy - le 13-06-2005 à 01:05:04
|