Rendre date sur un calendrier non cliquable si pas d'èvenements Stéphanie

Petit nouveau ! | 1 Messages

02 avr. 2009, 03:09

Bonjour, je suis débutante en php j'ai adapté un script php :
Mon script affiche un calendrier et je veux rendre les dates sans évènements non cliquable alors je veux savoir si pour un date_deb (date) on a un manif "evènement" dans la base sql comment faire ?

Je lutte depuis une semaine, suis ultra énervée !!

Vous pouvez dl le script ici : http://www.le-saxophone.fr/concert/calendrier.php

Si quelqu'un m'aide j'en serait très reconnaissante je peux lui faire un lien PR 4 sur mon site web (ajouter moi sur msn en bas du topic)

Voici une partie du script (calendrier.php)


<?


$month = $months_list;
	

if ($genre==1) 
{
	$separateur='-';
	$temp=split($separateur,$nom,3);
	$day=$temp[0];
	$month2=$temp[1];
	$year=$temp[2];
}

if(empty($mois)) $mois = date("n");
if(empty($annee)) $annee = date("Y");
if(empty($jour)) $jour = date("d");
if(!empty($year)) $annee = $year;
if(!empty($month2)) $mois = $month2;
if(!empty($day)) $jour = $day;

$nbre_jours =  date("t", $sec);

if($mois > 12) $mois = $mois-12;
if($mois < 1) $mois = $mois+12;

$dernJour = 28; 
   while (checkdate($mois, $dernJour , $annee)) 
   {
     $dernJour++; 
    }
--$dernJour;
$nbre_jours = $dernJour;



$jour_num = date("w", mktime(0,0,0,$mois,01,$annee)); 
if($jour_num == 0) $jour_num = 7;   



echo "<font face=\"verdana\" color=\"black\" size=\"2\">";
if($mois == 1) $mois_av = 12;
else $mois_av = $mois-1;
//echo " <a class=\"calendrier\" href=\"".$jour;
echo "$lien<a class=\"calendrier\" href=\"".$jour;
echo "-".$mois_av."-".$annee."\"><b><-&nbsp;</b></a> \n<font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">";
echo $month[$mois-1]; 


if($mois == 12) $mois_ap = 1;
else $mois_ap = $mois+1;
echo "</font>&nbsp;<a class=\"calendrier\" href=\"".$jour;

echo "-".$mois_ap."-".$annee."\"><b>&nbsp;-></b></a><br><a class=\"calendrier\" ";
echo "href=\"".$jour."-".$mois."-";
echo ($annee-1)."\"><b><-&nbsp;</b></a>&nbsp;<font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">".$annee."</font>&nbsp;<a class=\"calendrier\" ";
echo "href=\"";
echo $jour."-".$mois."-".($annee+1)."\"><b>&nbsp;-></b></a></font>\n</td>\n  </tr>\n";

echo "<tr><td width=\"40\" align=\"center\"><font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">lun</font></td><td width=\"40\" align=\"center\">";
echo "<font face=\"verdana\" size=\"2\" color=\"$color_text7\">mar</font></td>";
echo "<td width=\"40\" align=\"center\"><font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">mer</font></td><td width=\"40\" align=\"center\">";
echo "<font face=\"verdana\" size=\"2\" color=\"$color_text7\">jeu</font></td>";
echo "<td width=\"40\" align=\"center\"><font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">ven</font></td><td width=\"40\" align=\"center\">";
echo "<font face=\"verdana\" size=\"2\" color=\"$color_text7\">sam</font></td>";
echo "<td width=\"40\" align=\"center\"><font face=\"verdana\" size=\"2\" ";
echo "color=\"$color_text7\">dim</font></td></tr>\n<tr>\n";

$case = 0;
$pasdelien=0;



if($jour_num != 1)
{
    while($jour_num > 1)
    {
        echo "<td width=\"40\">&nbsp;</td>\n";
        $jour_num--;
        $case++;
    }    
}         

for($u = 1; $u <= $nbre_jours; $u++)
{
    if($u == $jour)
    {
        echo "<td width=\"20\" align=\"center\" bgcolor=\"$color_text9\"><font ";
        echo "face=\"verdana\" color=\"#336699\" size=\"2\"><a class=\"theday\" ";
        echo "href=\"";
        echo $u."-".$mois."-".$annee."\"><b>".$u."</b></a></font></td>\n";
    }
    else
    {
        echo "<td width=\"40\" align=\"center\"><font face=\"verdana\" ";
        echo "color=\"white\" size=\"2\"><a class=\"calendrier\" ";
        echo "href=\"";
        echo $u."-".$mois."-".$annee."\">".$u."</a></font></td>\n";
    }
    if(is_integer(($case+$u)/7) && $u < $nbre_jours)
        echo "</tr>\n<tr>\n";
}

while(!is_integer(($case+$u-1)/7))
{
    echo "<td width=\"40\">&nbsp;</td>\n";
    $u++; 
}
?>
Stéphanie


Msn:[email protected]

Invité
Invité n'ayant pas de compte PHPfrance

02 avr. 2009, 15:13

Up

Mammouth du PHP | 661 Messages

02 avr. 2009, 15:32

heuu ... j'ai pas tout pigé ... encore moins comment veux tu orienté le script au cas il n'y ai pas d'évennement à promouvoir, ... mais bon :

le principe :

// Boucle dans laquelle on affiche les cases :

while()// ou for // ou autre {

  echo '<td>';

  echo getContenu($date_encours);

  echo '</td'>;

}


// Notre fonction : (à placer avant évidemment ;)

function getContenu($date)[
  
  $select // récupération dans la base de donnée des éléments

  if($select contient qqch){
    return '<a.......>le contenu mis en forme </a>';
  } else {
    return '&nbsp';
  }
}

Ainsi, en faisant traité le contenu indépendamment du contenant, ils sont plus simple à administrer ...

Voila, pour plus de détails, n'hésites pas !!


/* NOTE : Ce n'est pas terrible d'utiliser les <table> pour ceci, il est reletivement plus simpas, et nettement plus évolutifs d'utiliser des <div> et autres <span> ... les <table> devant etre plutôt etre réservées aux traitement des données ... mais c'est un avis purement personnel ;) */

BonCode ;)

ViPHP
AB
ViPHP | 5818 Messages

02 avr. 2009, 18:15

NOTE : Ce n'est pas terrible d'utiliser les <table> pour ceci, il est reletivement plus simpas, et nettement plus évolutifs d'utiliser des <div> et autres <span> ... les <table> devant etre plutôt etre réservées aux traitement des données ... mais c'est un avis purement personnel
Les tables sont spécialement étudiées pour afficher des données tabulaires. Qu'affiche t-on dans un calendrier ? Selon moi c'est donc précisément le type de cas où l'utilisation de tableaux est adaptée :wink:

Mammouth du PHP | 661 Messages

02 avr. 2009, 18:33

Qu'affiche t-on dans un calendrier ?
certes, tu as entièrement raison, mais j'en fais une utilisation particulière du calendrier, par le simple fait qu'il serait bien plus pratique de pouvoir le manipuler à l'aide du javascript, mois+, mois- ...

il y a certes la possibilité très lourde afficher le tableau générer en php via une requête ajax, mais sinon, il est beaucoup plus intéressant de pouvoir le manipuler facilement en JS, ce n'est pas un Gros tableau de Stats !! il doit conservé la légèreté d'un widget ! non ?

et tu conviendras que la manipulation des tables En javascript reste fastidieux !!! non ?

Mais Comme toujours, ce n'est Qu'un avis qui ne demande qu'à être confronté à son inverse !!

@+
Modifié en dernier par Nours312 le 02 avr. 2009, 18:35, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 avr. 2009, 18:34

Modération :
Niurath, les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute