IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Probleme explode et select formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut Probleme explode et select formulaire
    Bonjour à tous,

    je ne sais pas d'où vient le problème...

    Code de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
      function dropdown ($dropdownone, $dropdowntou)
      {
        foreach ($dropdownone as $safedatasry)
        {
          $safedatasry = str_replace ('', '', $safedatasry);
          echo '<option value=\'' . $safedatasry . '\'';
          if (trim ($safedatasry) == $dropdowntou)
          {
            echo ' selected=\'selected\'';
          }
     
          echo '>' . trim ($safedatasry) . '</option>';
        }
     
      }
    Dans le select de mon formulaire j'ai bien les valeurs qui s'enregistrent dans ma BDD après l'envoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    					<select class=\'widtha\' id=\'marque\' name=\'marque\' tabindex=\'12\'>
    						<option value=\'\'>&nbsp;</option>
    						';
      dropdown (explode ('
    ', $conf[marques]), $_POST[marque]);
      echo '					</select>
    Mais en fait la valeur enregistré dans la BDD ne s'affiche pas par défaut dans le select et il faut recliquer sur la liste déroulante...
    Pourtant je ne trouve aucune erreur.

    Par contre quand la dernière valeur de la liste enregistré dans la BDD est sélectionnée, là j'ai bien l'affichage en arrivant sur la page... mais seulement sur la dernière valeur !

    Je ne sais pas si je me suis bien fais comprendre...

    Une idée ? Merci

  2. #2
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $safedatasry = str_replace ('', '', $safedatasry);
    On remplace du vide par du vide ?

    Tu ferrais mieux de regarder le code HTML généré, car pour moi ton script sélectionne toutes les entrées lorsque le paramètre $dropdowntou est vide (donc lorsque le formulaire n'est pas posté).

    N.B : $_POST[marque], marque est-elle une constante ? Non je ne pense pas, donc il vaut mieux l'écrire $_POST['marque'] pour ne pas obtenir de drôles de résultats si un jour la constante venait à être créée.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    du coté de l'écriture du code, je ferais ça :
    - séparer le code html du code php
    - remplacer les \' par " (dans les balises html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      function dropdown ($dropdownone, $dropdowntou)
      {
        foreach ($dropdownone as $safedatasry)
        {
          $safedatasry = str_replace ('', '', $safedatasry); // ??? à quoi sert cette ligne ???
    ?>	<option value="<?php echo $safedatasry; ?>"<?php echo (trim($safedatasry) == $dropdowntou)? ' selected="selected"' : ''; ?>><?php echo trim ($safedatasry); ?></option>
    <?php
        }
      }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // ....
    ?>
    			<select class="widtha" id="marque" name="marque" tabindex="12">
    				<option value="">&nbsp;</option>
     
    <?php dropdown (explode (' ', $conf['marques']), $_POST['marque']); ?>
    			</select>
    <?php
    // ....
    ?>
    Pour le reste, il faudrait nous préciser les valeurs de $conf['marques'] et $_POST['marque']

Discussions similaires

  1. probleme avec un SELECT
    Par Jean Fi dans le forum Débuter
    Réponses: 5
    Dernier message: 29/11/2005, 21h55
  2. Probleme de taille de formulaire
    Par jpdar dans le forum IHM
    Réponses: 7
    Dernier message: 25/11/2005, 17h16
  3. Probleme de creation de formulaire
    Par BooMerang dans le forum Access
    Réponses: 1
    Dernier message: 13/09/2005, 21h02
  4. Probleme d'envoie de formulaire
    Par wollverine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/02/2005, 16h29
  5. Probleme d'ouverture de formulaire
    Par nemesys971 dans le forum IHM
    Réponses: 11
    Dernier message: 01/02/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo