Pages :
Bonjour,
Je suis à la recherche d’un calendrier dit dynamique pour notre site de moto
J’aimerai qu’il soit réparti en trois cadres
Le cadre central qui est le mois en court.
deux plus petit cadre à gauche qui serait les deux mois suivant
Sur chacun d’entre eu on peut voir les dates marquées par un rendez-vous.
Il doit-être consultable par tous mais seul les membres peuvent y inscrire des dates.
Chacune des dates marquées, doive conduire aux notes de ce jour la.
Une notification par mail aux membres de chaque nouvelles dates marquées.
Nb je suis plutôt nul en PHP, SQL et tout autre langage autre que le bon vieux HTML
Merci pour votre indulgence
cette fois sa y est presque
j'ai juste un petit souci avec ce programme
ou peut-être bien avec la configuration de SQL
voici le message d'erreur que je reçois
a écrit :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/m/c/a/mcardenne/www/event.php on line 13

et voici le fichier PHP
<?php
include ("connexion.php");
function mysql_date_fr($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour."-".$mois."-".$annee;
} 
$ref_event = $_GET["ref"];
$query = "SELECT * FROM events where idevent=\"$ref_event\" "; 
$result = mysql_query($query);
while ($val = mysql_fetch_array($result)) 
{ 
$idevent = $val["idevent"];
$date_event = mysql_date_fr($val["date_event"]);
$desc_event = $val["desc_event"];
echo "le <b class=\"title2\">".$date_event."</b><br /><br />";
echo "<p class=\"text4\">".$desc_event."</p>";
}
?>

vous pouvez voir le programme en fonction a cette adresse
j'ai marquer la date du 19/06/07
http://mcardenne.ovh.org/
merci pour votre coup de main
Modifié par papa-christian (19 Jun 2007 - 19:05)
Salut Smiley cligne ,

à priori ta requête :
$query = "SELECT * FROM events where idevent=\"$ref_event\" "; 
est invalide ou ne retourne aucun résultat.

Fais un echo $query; juste après cette ligne pour vérifier...

A+ Smiley smile
Ben... La ligne que j'ai reprise Smiley cligne :
$query = "SELECT * FROM events where idevent=\"$ref_event\" "; 
echo $query;
voici la réponse
a écrit :
SELECT * FROM events where idevent="1""
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/m/c/a/mcardenne/www/event.php on line 14
Re'

idevent ne serait pas une zone numérique ? Auquel cas tu devrais mettre
$query = "SELECT * FROM events where idevent=$ref_event"; 

Mais mysql est plutôt cool avec ça alors si ça ne règle pas le problème le mieux serait de lancer la requête directement sur ta base via phpmyadmin : tu sélectionnes ta base, tu cliques sur SQL, tu copies la ligne
a écrit :
SELECT * FROM events where idevent=1
puis exécuter... Et tu vois si tu as un résultat Smiley langue
Modifié par Heyoan (19 Jun 2007 - 19:46)
alors la je suis lourder complet
j'ai fait la requete sql et sa ne change rien
je vais faire mieux que ça
voici le fichier index.php
<html>
<head>
<title>Calendrier événements</title>
<style>
.text{
font-family: Verdana,Arial,Helvetica,sans-serif; 
color: Black; 
font-size: 11px;
}
.datejour{
	background-color: #0000FF;
	font-family: Verdana,Arial,Helvetica,sans-serif;
	color: white;
	font-size: 13px;
	font-weight: bold;
}
.date{
background-color: #FFFFCC;
font-family: Verdana,Arial,Helvetica,sans-serif; 
color: Black; 
font-size: 12px;
}
.date_event{
background-color: #FF0000;
font-family: Verdana,Arial,Helvetica,sans-serif;  
font-size: 13px;
}
</style>
</head>
<body>
<center>
<h1>Calendrier pour J F</h1>
<?php
include 'calendar.php';
$d=getDate(); 
$m = $_GET["mois"];
$a = $_GET["annee"];
if((!isSet($m)) ||(!isSet($a)))
	{
		AfficheMois($d["mon"],$d["year"]);
	}
	else
	{
		AfficheMois($m,$a);
	}
?> 
Les dates en rouge sont des dates marquées
</body>
</html>

voici le fichier calendar
<?php
	include ("connexion.php");
	function mysql_date($champ)
	{
		$annee=substr($champ,0,4);
		$mois=substr($champ,5,2);
		$jour=substr($champ,8,2);
		return $jour;
	} 
	function premier_jour_du_mois($mois,$annee)
	{
 		$intPremierJour = date("w",mktime(0,0,0,$mois,1,$annee));
 		if($intPremierJour == 0) $intPremierJour = 7; // si c'est un dimanche
 		return $intPremierJour-1;
	}
	function nbjour($m,$a)
	{
	 	if(($a%4)==0)
	 	{
	 	$fev=29;
	 	}
		else
	 	{
		$fev=28;
	 	}
	$mois = array(0,31,$fev,31,30,31,30,31,31,30,31,30,31);
	for($x=1;$x<13;$x++)
	{
		if($m == $x)
		{
			return $mois[$x];
		}
	}
	}
	
	function lister_table()
	{
		$table="events";
		$dates = array();
		$query = "SELECT * FROM $table"; 
		$result = mysql_query($query);
		while ($val = mysql_fetch_array($result)) 
		{ 
			$date_event =mysql_date($val["date_event"]);
			echo $date_event;
	
		}
	} 
	
    function afficheMois($mois, $annee)
    {
		$tab = getdate();
		$jourc = $tab["mday"];
		$anneec = $tab["year"];
		$moisc = $tab["mon"];
        $labelMois = array(" ","Janvier", "Février", "Mars", "Avril",
                    "Mai", "Juin", "Juillet", "Août", "Septembre",
                    "Octobre", "Novembre", "Décembre");
        $labelJour = array("Lun.","Mar.","Mer.","Jeu.","Ven.","Sam.","Dim.");

		$nbJours=nbjour($mois,$annee);
		$css = "text";	

        echo "<table border=0>\n";
		
		$mp=$mois+1;
		$mm=$mois-1;
		$ap=$annee+1;
		$am=$annee-1;
		$acp=$annee;
		$acm=$annee;
		
		if($mp==13)
			{
				$mp=1;
				$acp=$acp+1;
				if($acp==2038)
				{
					$acp=1980;
				}
			}
		if($mm==0)
			{
				$mm=12;
				$acm=$acm-1;
				if($acm<1980)
				{
					$acm=2037;
				}
			}
			
		if($ap>2037){$ap=1980;}
		if($am<1980){$am=2037;}
		
		echo "<tr>".
		//modifier les liens ci-dessous avec votre chemin
		"<td colspan=\"4\" class=\"$css\"><a href=\"http://mcardenne.ovh.org/index.php?mois=$mm&annee=$acm\"><img src=\"arrow_left.gif\" border=\"0\">".
		"</a> $labelMois[$mois] <a href=\"http://mcardenne.ovh.org/index.php?mois=$mp&annee=$acp\"><img src=\"arrow_right.gif\" border=\"0\"></a></td>";
        echo "<td colspan=\"3\" align=\"right\" class=\"$css\"><a href=\"http://mcardenne.ovh.org/index.php?mois=$mois&annee=$am\"><img src=\"arrow_left.gif\" border=\"0\"> ". 
		"</a>$annee<a href=\"http://mcardenne.ovh.org/index.php?mois=$mois&annee=$ap\"> <img src=\"arrow_right.gif\" border=\"0\"></a> </td></tr>";
		
		
        echo "<tr>";
        for ($i = 0; $i < 7; $i++) {
            echo "<td class=\"$css\">$labelJour[$i]</td>";
        }
        echo "</tr>\n";
        
        echo "<tr>";
        for ($i = 0; $i < premier_jour_du_mois($mois,$annee); $i++) 
		{
            echo "<td></td>";
        }
     	/********************************/
        	for ($i = 1; $i <= $nbJours; $i++) 
			{
            	if (($i-1 + premier_jour_du_mois($mois,$annee)) % 7 == 0) 
				{
                	echo "</tr>\n<tr>";// Retour à la ligne chaque Lundi
            	}
				if(($i-1==$jourc-1)&&($annee==$anneec)&&($mois==$moisc))
				{
					$cssClass = "datejour";
					$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
				}
            	else
				{
					$cssClass = "date";
					$htmltext = "<td align=\"right\" class=\"$cssClass\">$i</td>";
				}
				/*****************/
				$debut_mois = date("Y-m-d", mktime(0,0,0,$mois,1,$annee));
				$fin_mois = date("Y-m-d", mktime(0,0,0,$mois,$nbJours,$annee)); 
		
				$query = "SELECT *FROM events where date_event >='$debut_mois' and date_event <='$fin_mois' ORDER BY date_event"; 
				$result = mysql_query($query);
				while ($val = mysql_fetch_array($result)) 
				{ 
					$date_event = mysql_date($val["date_event"]);
					$idevent = $val["idevent"];
					if($i==$date_event)
						{
							$cssClass = "date_event";
							$htmltext = "<td align=\"right\" class=\"$cssClass\"><a href=event.php?ref=$idevent\" class=\"lien\" title=\"date événement\">$i</a></td>";
						}
				}	
				echo $htmltext;
        	}
		/******************************/
        echo "</tr>";
        echo "</table>";
	} 
$result = mysql_query("SELECT * FROM events where idevent=\"$ref_event\" ");
echo mysql_error();
while ($val = mysql_fetch_array($result))  
?>

et enfin le fichier event
<?php
include ("connexion.php");
function mysql_date_fr($champ)
{
$annee=substr($champ,0,4);
$mois=substr($champ,5,2);
$jour=substr($champ,8,2);
return $jour."-".$mois."-".$annee;
} 
$ref_event = $_GET["ref"];
$query = "SELECT * FROM events where idevent=\"$ref_event\" ";
$result = mysql_query($query);
while ($val = mysql_fetch_array($result)) 
{ 
$idevent = $val["idevent"];
$date_event = mysql_date_fr($val["date_event"]);
$desc_event = $val["desc_event"];
echo "le <b class=\"title2\">".$date_event."</b><br /><br />";
echo "<p class=\"text4\">".$desc_event."</p>";

}
?>

à toi de me dire ce qu'il en est et déjà merci pour ton aide
Re-re'

je pense que dans calendar.php il faut remplacer
<a href=event.php?ref=$idevent\"
par
<a href=\"event.php?ref=$idevent\"
et ça devrait aller Smiley cligne
c'est magique sa fonctionne
super cool
maintenant il ne me reste plus cas comprendre la table SQL pour ajouter et retirer des dates
tout grand merci Heyoan
j'ai encore un petit souci
je n'ai que la premiere date qui se marque ?
mais dit-moi serait tu capable de fabriquer un calendrier evenement car celui-ci n'est pas tout a fait ce que je cherche ?
Modifié par papa-christian (20 Jun 2007 - 06:46)
Salut Smiley cligne ,

oui je pense que j'en serais capable mais comme le rappelle la règle 16 la vocation de ce forum est l'entraide et pas de faire le boulot à la place des autres Smiley ravi . D'ailleurs ce n'est pas comme cela que tu vas évoluer et je suis persuadé que c'est ton but ultime Smiley biggol .

Par contre si tu as des questions "précises", n'hésites pas !

A+ Smiley smile
Modifié par Heyoan (20 Jun 2007 - 11:22)
oui j'en ai des ta de question en voici déjà quelques-une Smiley rolleyes
-mise en page pratique bouton pour inserer une date en mode securiser ?
- comment faire pour que le commentaire d'une date marquée ? apparaisse sous le calendrier
- j'ai aussi un fichier inserer.html qui envoie au fichier inserer.php qui fonctionne mais ne peut-on ajouter un lien dans le fichier PHP afin de revenir à la page calendrier ?
Et pour finir, j'ai des doutes sur la base SQL que j'ai installé pour ce calendrier ?
voilà une partie des questions
merci de ton coup de main
Modifié par papa-christian (20 Jun 2007 - 13:49)
Re'

ben là ça part un peu comme une initiation à PHP Smiley rolleyes alors je t'invite plutôt à faire un tour sur un des liens de ce post

Bon courage et A+ Smiley cligne
cela fonctionne mais maintenant j'ai un souci avec le fichier insert car il ne fonctionne pas
voici le insert. html
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  <title></title>
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta name="author" content="Paris Ch">
  <meta name="generator" content="WebExpert 6">
</head>
<body>
<form type="GET" action="http://mcardenne.ovh.org/insert.php">
<select name="jour">
           <option value=01>1</option>
           <option value=02>2</option>
           <option value=03>3</option>
           <option value=04>4</option>
           <option value=05>5</option>
           <option value=06>6</option>
           <option value=07>7</option>
           <option value=08>8</option>
           <option value=09>9</option>
           <option value=10>10</option>
           <option value=11>11</option>
           <option value=12>12</option>
           <option value=13>13</option>
           <option value=14>14</option>
           <option value=15>15</option>
           <option value=16>16</option>
           <option value=17>17</option>
           <option value=18>18</option>
           <option value=19>19</option>
           <option value=20>20</option>
           <option value=21>21</option>
           <option value=22>22</option>
           <option value=23>23</option>
           <option value=24>24</option>
           <option value=25>25</option>
           <option value=26>26</option>
           <option value=27>27</option>
           <option value=29>29</option>
           <option value=30>30</option>
           <option value=31>31</option>
         		</select>
		<select name="mois">
           <option value=02>Février</option>
           <option value=03>Mars</option>
           <option value=04>Avril</option>
           <option value=05>Mai</option>
           <option value=06>Juin</option>
           <option value=07>Juillet</option>
           <option value=08>Août</option>
           <option value=10>Octobre</option>
           <option value=11>Novembre</option>
           		</select>
		<select name="annee">
           <option value=2007>2007</option>
           <option value=2008>2008</option>
           <option value=2009>2009</option>
           <option value=2010>2010</option>
		   <option value=2011>2011</option>
		   <option value=2012>2012</option>
		   <option value=2013>2013</option>
		   
         		</select><br />
       Description:<br />
<textarea name="description" rows="10" cols="25"></textarea><br />
       <input type="submit" value="Envoyer">
       <input type="reset" value="Annuler">
   </form>

</body>
</html>
Salut Smiley cligne ,

Ce code, même s'il est assez "tristoune" (car sans DOCTYPE, avec un charset=windows-1252 Smiley confus , sans title, sans les mois de Septembre, Décembre et Janvier) et qu'il aurait été optimisé en PHP fonctionne plutôt bien... Ce qui ne marche peut-être pas en revanche c'est la page appelée : insert.php... mais sans le code difficile d'être sûr Smiley murf .

A+
salut Heyoan,
le voici
<html>
<head>
<title>Ajout événement</title>
</head>
<body>
<h2 class="title">Ajouter un événement:</h2>
<?php
include ("connexion.php");
$j = $_GET["jour"];
$m = $_GET["mois"];
$a = $_GET["annee"];
$desc = $_GET["description"];

if(checkdate($m,$j,$a))
{
$date = $a."-".$m."-".$j;
$sql = "INSERT INTO events (idevent ,date_event, desc_event)VALUES('', '$date', '$desc')";
$result = mysql_query($sql);
echo "événement ajouté";
}
else
{
echo "votre date n\'est pas valide";
}

?>
</body>
</html>

pour le coter tristounet cela je le fais à la fin
Du reste il serait bien que ce soit la date du jour qui s'affiche l hors de l'ouverture du html ! mais on verra cela plus tard
Modifié par papa-christian (28 Jun 2007 - 22:41)
Pages :