Problème de selected dans un formulaire dynamique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de selected dans un formulaire dynamique

par Ryle » 18 déc. 2006, 12:46

C'est l'un des inconvénients de ce genre de logiciel.. le code généré fonctionne (enfin en général ;)), mais dans le genre simple et/ou compréhensible, je suis pas certain que ce soit les plus efficaces ;)

Modération : j'ajoute donc le tag [Résolu] puisque tu ne peux le faire en tant qu'invité :)
Pour pouvoir le faire toi même et indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution, il te suffit de t'inscrire ;)

par Invité » 18 déc. 2006, 12:34

Oui, c'est vrai que c'est plus simple et cela fonctionne, je me contentais du code généré par dream :?

Merci beaucoup

par Ryle » 18 déc. 2006, 11:44

Hello ! :)

La fonction strcmp() permet de comparer des chaines, hors dans ton code tu compares un nombre (01 <=> 1) à une chaine... ajoute des apostrophes ou des guillemets autour de tes nombres, le résultat devrait correspondre à ton attente :)

Ceci dit, je pense que tu te compliques la vie (et le code) avec du strcmp, des parenthèses et des négations... Pourquoi ne pas simplement afficher "checked" quand :
if ($date_jour == "02")

:)

Problème de selected dans un formulaire dynamique

par Invité » 18 déc. 2006, 11:09

Bonjour,

Voilà mon script :

Code : Tout sélectionner

$req="SELECT * FROM table where id='$id'" or die ("Erreur <br>"); $result = mysql_query($req) or die ("Erreur <br>"); While ($i = mysql_fetch_array($result)) { // debut boucle affichage $id=$i["id"]; $date=$i["date"]; // format date: jj.mm.aaaa $date_jour=substr($date,0,2); $date_mois=substr($date,3,2); $date_annee=substr($date,6,4); } //et ensuite l'affichage de mon formulaire <form action="agenda_modifier.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <select name="date_jour_m" class="boxes"> <option value="01" <?php if (!(strcmp(01, $date_jour))) {echo "SELECTED";} ?>>01</option> <option value="02" <?php if (!(strcmp(02, $date_jour))) {echo "SELECTED";} ?>>02</option> <option value="03" <?php if (!(strcmp(03, $date_jour))) {echo "SELECTED";} ?>>03</option> <option value="04" <?php if (!(strcmp(04, $date_jour))) {echo "SELECTED";} ?>>04</option> <option value="05" <?php if (!(strcmp(05, $date_jour))) {echo "SELECTED";} ?>>05</option> <option value="06" <?php if (!(strcmp(06, $date_jour))) {echo "SELECTED";} ?>>06</option> <option value="07" <?php if (!(strcmp(07, $date_jour))) {echo "SELECTED";} ?>>07</option> <option value="08" <?php if (!(strcmp(08, $date_jour))) {echo "SELECTED";} ?>>08</option> <option value="09" <?php if (!(strcmp(09, $date_jour))) {echo "SELECTED";} ?>>09</option> <option value="10" <?php if (!(strcmp(10, $date_jour))) {echo "SELECTED";} ?>>10</option> <option value="11" <?php if (!(strcmp(11, $date_jour))) {echo "SELECTED";} ?>>11</option> <option value="12" <?php if (!(strcmp(12, $date_jour))) {echo "SELECTED";} ?>>12</option> <option value="13" <?php if (!(strcmp(13, $date_jour))) {echo "SELECTED";} ?>>13</option> <option value="14" <?php if (!(strcmp(14, $date_jour))) {echo "SELECTED";} ?>>14</option> <option value="15" <?php if (!(strcmp(15, $date_jour))) {echo "SELECTED";} ?>>15</option> <option value="16" <?php if (!(strcmp(16, $date_jour))) {echo "SELECTED";} ?>>16</option> <option value="17" <?php if (!(strcmp(17, $date_jour))) {echo "SELECTED";} ?>>17</option> <option value="18" <?php if (!(strcmp(18, $date_jour))) {echo "SELECTED";} ?>>18</option> <option value="19" <?php if (!(strcmp(19, $date_jour))) {echo "SELECTED";} ?>>19</option> <option value="20" <?php if (!(strcmp(20, $date_jour))) {echo "SELECTED";} ?>>20</option> <option value="21" <?php if (!(strcmp(21, $date_jour))) {echo "SELECTED";} ?>>21</option> <option value="22" <?php if (!(strcmp(22, $date_jour))) {echo "SELECTED";} ?>>22</option> <option value="23" <?php if (!(strcmp(23, $date_jour))) {echo "SELECTED";} ?>>23</option> <option value="24" <?php if (!(strcmp(24, $date_jour))) {echo "SELECTED";} ?>>24</option> <option value="25" <?php if (!(strcmp(25, $date_jour))) {echo "SELECTED";} ?>>25</option> <option value="26" <?php if (!(strcmp(26, $date_jour))) {echo "SELECTED";} ?>>26</option> <option value="27" <?php if (!(strcmp(27, $date_jour))) {echo "SELECTED";} ?>>27</option> <option value="28" <?php if (!(strcmp(28, $date_jour))) {echo "SELECTED";} ?>>28</option> <option value="29" <?php if (!(strcmp(29, $date_jour))) {echo "SELECTED";} ?>>29</option> <option value="30" <?php if (!(strcmp(30, $date_jour))) {echo "SELECTED";} ?>>30</option> <option value="31" <?php if (!(strcmp(31, $date_jour))) {echo "SELECTED";} ?>>31</option> </select> </form>
Le but étant d'afficher dans le formulaire les valeurs de la date sélectionnée pour les modifier.
Cela fonctionne très bien pour les jours 10 à 31 mais pour les jours et 1 à 9 ou plutot 01 à 09, là il y a un zéro devant, cela ne fonctionne pas !!!! :cry:

Je ne comprends vraiment pas pourquoi le formulaire ne reconnait pas la valeur de type '01'.

Quelqu'un peut m'aider ?