8792 sujets

Développement web côté serveur, CMS

Attention, y a du divin la dessous!!!

(ou alors on est 2 gros boulets a chercher comme des cons une solution lol)


Je suis sur un site php avec des templates et smarty view, donc le code aura la syntaxe de smarty.

Mon probleme est que j'ai trois menu select pour date (jours / mois / années), et le gros mystere, c'est que je veux donner une valeur selected au chargement de la page... mais attention gros gros mystere -> ca marche, sauf quand le jour ou le mois est 08...

Voici mon code du select




<div class="field">
<label for="">Choix de la date</label><br/>
<select name="formationDay" id="formationDay">
            <option value="01" {if $formation->getDay() == "01"} selected {/if}>01</option>
            <option value="02" {if $formation->getDay() == "02"} selected {/if}>02</option>
            <option value="03" {if $formation->getDay() == "03"} selected {/if}>03</option>
            <option value="04" {if $formation->getDay() == "04"} selected {/if}>04</option>
            <option value="05" {if $formation->getDay() == "05"} selected {/if}>05</option>
            <option value="06" {if $formation->getDay() == "06"} selected {/if}>06</option>
            <option value="07" {if $formation->getDay() == "07"} selected {/if}>07</option>
            <option value="08" {if $formation->getDay() == "08"} selected {/if}>08</option>
            <option value="09" {if $formation->getDay() == "09"} selected {/if}>09</option>
            <option value="10" {if $formation->getDay() == "10"} selected {/if}>10</option>
            <option value="11" {if $formation->getDay() == "11"} selected {/if}>11</option>
            <option value="12" {if $formation->getDay() == "12"} selected {/if}>12</option>
            <option value="13" {if $formation->getDay() == "13"} selected {/if}>13</option>
            <option value="14" {if $formation->getDay() == "14"} selected {/if}>14</option>
            <option value="15" {if $formation->getDay() == "15"} selected {/if}>15</option>
            <option value="16" {if $formation->getDay() == "16"} selected {/if}>16</option>
            <option value="17" {if $formation->getDay() == "17"} selected {/if}>17</option>
            <option value="18" {if $formation->getDay() == "18"} selected {/if}>18</option>
            <option value="19" {if $formation->getDay() == "19"} selected {/if}>19</option>
            <option value="20" {if $formation->getDay() == "20"} selected {/if}>20</option>
            <option value="21" {if $formation->getDay() == "21"} selected {/if}>21</option>
            <option value="22" {if $formation->getDay() == "22"} selected {/if}>22</option>
            <option value="23" {if $formation->getDay() == "23"} selected {/if}>23</option>
            <option value="24" {if $formation->getDay() == "24"} selected {/if}>24</option>
            <option value="25" {if $formation->getDay() == "25"} selected {/if}>25</option>
            <option value="26" {if $formation->getDay() == "26"} selected {/if}>26</option>
            <option value="27" {if $formation->getDay() == "27"} selected {/if}>27</option>
            <option value="28" {if $formation->getDay() == "28"} selected {/if}>28</option>
            <option value="29" {if $formation->getDay() == "29"} selected {/if}>29</option>
            <option value="30" {if $formation->getDay() == "30"} selected {/if}>30</option>
            <option value="31" {if $formation->getDay() == "31"} selected {/if}>31</option>
 </select>
          /
<select name="formationMonth" id="formationMonth">
            <option value="01" {if $formation->getMonth() == "01"} selected {/if}>01</option>
            <option value="02" {if $formation->getMonth() == "02"} selected {/if}>02</option>
            <option value="03" {if $formation->getMonth() == "03"} selected {/if}>03</option>
            <option value="04" {if $formation->getMonth() == "04"} selected {/if}>04</option>
            <option value="05" {if $formation->getMonth() == "05"} selected {/if}>05</option>
            <option value="06" {if $formation->getMonth() == "06"} selected {/if}>06</option>
            <option value="07" {if $formation->getMonth() == "07"} selected {/if}>07</option>
            <option value="08" {if $formation->getMonth() == "08"} selected {/if}>08</option>
            <option value="09" {if $formation->getMonth() == "09"} selected {/if}>09</option>
            <option value="10" {if $formation->getMonth() == "10"} selected {/if}>10</option>
            <option value="11" {if $formation->getMonth() == "11"} selected {/if}>11</option>
            <option value="12" {if $formation->getMonth() == "12"} selected {/if}>12</option>
 </select>
          /
<select name="formationYear" id="formationYear">
			<option value="2006" {if $formation->getYear() == 2006} selected {/if}>2006</option>
			<option value="2007" {if $formation->getYear() == 2007} selected {/if}>2007</option>		
			<option value="2008" {if $formation->getYear() == 2008} selected {/if}>2008</option>
			<option value="2009" {if $formation->getYear() == 2009} selected {/if}>2009</option>		
</select>  
</div>




Il faut savoir que sur la meme page, j'ai

{$formation->getDay()} / {$formation->getMonth()} / {$formation->getYear()}


Cette derniere ligne, dans tous les cas, m'affiche la bonne valeur de la date, hors, dans mon select, si y a un $formation->getDay() == 08 , ou $formation->getMonth() == 08, ca select pas...


Attention mystère ^^
Heu, en fait au moment ou j'ai posté, mon collegue a trouvé la solution ^^ (et le code posté est donc bon)

Le code qui marchait pas était avec des:

{if $formation->getDay() == xx}

au lieu de

{if $formation->getDay() == "xx"}


Par contre je comprends vraiment pas pourquoi ca marchait pas qu'avec le 08... ptet que le mec qui a codé smarty a mal géré la comparaison entre int et string juste pour 08 ou chez pas lol ^^
08 et 8 ne sont pas interprétés pareil : 08 == 0 te renverra true contrairement à "08" == 0, PHP faisant pour toi la conversion string -> int...
Rien de divin donc Smiley cligne