Problème de variable

Eléphant du PHP | 160 Messages

17 juin 2006, 01:17

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

Eléphant du PHP | 160 Messages

17 juin 2006, 01:24

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

Eléphant du PHP | 160 Messages

17 juin 2006, 14:39

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