Page 1 sur 1

Problème de variable

Posté : 17 juin 2006, 01:17
par jpsartre
Bonjour,
Le code suivant fonctionne sauf que lorsque je clique sur un lien, le mois en lettre ne s'affiche plus. Mais là je ne vois pas :
      <?
	if ( ! isset($ms))
	{
	$ms = date('m'); 
if ($ms == 01) { $mois = 'JANVIER'; } 
if ($ms == 02) { $mois = 'FEVRIER'; } 
if ($ms == 03) { $mois = 'MARS'; } 
if ($ms == 04) { $mois = 'AVRIL'; } 
if ($ms == 05) { $mois = 'MAI'; } 
if ($ms == 06) { $mois = 'JUIN'; } 
if ($ms == 07) { $mois = 'JUILLET'; } 
if ($ms == 08){ $mois = 'AOUT'; } 
if ($ms == 09) { $mois = 'SEPTEMBRE'; } 
if ($ms == 10) { $mois = 'OCTOBRE'; } 
if ($ms == 11) { $mois = 'NOVEMBRE'; } 
if ($ms == 12) { $mois = 'DECEMBRE'; } 
}

	?>
      <?=$mois?>
      .</B> </TD>
  </TR>
    <TR>
    <TD colspan="2" class="fond_gris"><a href="calendrier.php?ms=01">JANVIER</a> 
      | <a href="calendrier.php?ms=02">FEVRIER</a> | <a href="calendrier.php?ms=03">MARS</a> 
      | <a href="calendrier.php?ms=04">AVRIL</a> | <a href="calendrier.php?ms=05">MAI</a> 
      | <a href="calendrier.php?ms=06">JUIN</a> | <a href="calendrier.php?ms=07">JUILLET</a> 
      | <a href="calendrier.php?ms=08">AOUT</a> | <a href="calendrier.php?ms=09">SEPTEMBRE</a> 
      | <a href="calendrier.php?ms=10">OCTOBRE</a> | <a href="calendrier.php?ms=11">NOVEMBRE</a> 
      | <a href="calendrier.php?ms=12">DECEMBRE</a> </TD>
  </TR>
  <TR> 
  <?
		$query = "SELECT * FROM evenements WHERE '".$ms."' = MONTH(`dd`) AND statut IN (0, 1) ORDER BY dd ASC";
		$result = mysql_query($query);
	if($result)
	{
	 	while($Record = mysql_fetch_object($result))
		{
		
?>
Si quelqu'un a une idée :idea:
Merci

Posté : 17 juin 2006, 01:24
par jpsartre
Incompréhensible, ça marche avec le code suivant sauf pour aout et septembre qui ne s'affichent pas en lettres, et là je ne vois vraiment pas ce qui change entre ces deux moix et tous les autres qui fonctionnent:
      <?
	if ( ! isset($ms))
	{
	$ms = date('m'); 
	}
if ($ms == 01) { $mois = 'JANVIER'; } 
if ($ms == 02) { $mois = 'FEVRIER'; } 
if ($ms == 03) { $mois = 'MARS'; } 
if ($ms == 04) { $mois = 'AVRIL'; } 
if ($ms == 05) { $mois = 'MAI'; } 
if ($ms == 06) { $mois = 'JUIN'; } 
if ($ms == 07) { $mois = 'JUILLET'; } 
if ($ms == 08) { $mois = 'AOUT'; } 
if ($ms == 09) { $mois = 'SEPTEMBRE'; } 
if ($ms == 10) { $mois = 'OCTOBRE'; } 
if ($ms == 11) { $mois = 'NOVEMBRE'; } 
if ($ms == 12) { $mois = 'DECEMBRE'; } 


	?>
      <?=$mois?>
      .</B> </TD>
  </TR>
    <TR>
    <TD colspan="2" class="fond_gris">
<a href="calendrier.php?ms=01">JANVIER</a>   | 
<a href="calendrier.php?ms=02">FEVRIER</a> | 
<a href="calendrier.php?ms=03">MARS</a>   | 
<a href="calendrier.php?ms=04">AVRIL</a> | 
<a href="calendrier.php?ms=05">MAI</a>   | 
<a href="calendrier.php?ms=06">JUIN</a> | 
<a href="calendrier.php?ms=07">JUILLET</a>   | 
<a href="calendrier.php?ms=08">AOUT</a> | 
<a href="calendrier.php?ms=09">SEPTEMBRE</a> | 
<a href="calendrier.php?ms=10">OCTOBRE</a> | 
<a href="calendrier.php?ms=11">NOVEMBRE</a> | 
<a href="calendrier.php?ms=12">DECEMBRE</a> 
</TD>
  </TR>
  <TR> 
  <?
		$query = "SELECT * FROM evenements WHERE '".$ms."' = MONTH(`dd`) AND statut IN (0, 1) ORDER BY dd ASC";
		$result = mysql_query($query);
	if($result)
	{
	 	while($Record = mysql_fetch_object($result))
		{
		
?>
Si quelqu'un a une idée,
Merci d'avance

Posté : 17 juin 2006, 14:39
par jpsartre
On m'a donné l'explication sur un autre forum :
Le chiffre huit (et les autres), en décimal s'écrit 8, et pas 08. Tout viens de là.
Si tu mets 01, 02, 03... tu n'utilises pas la base décimale mais la base octale. Donc, jusqu'à 7 ça va, mais pour 8 et au dessus ça ne va plus car ce sont des écritures qui n'existent pas en octal.
http://fr.php.net/manual/fr/language.types.integer.php