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 :

Valeur tronquée au niveau d'un champ select


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    xbu
    xbu est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Par défaut Valeur tronquée au niveau d'un champ select
    Bonjour , je débute en PHP et voila j'ai un pb sur ce programme , le but étant de récupérer la valeur d'une liste de selection dynamique ( $resultat etant initialisé par la fonction init_base() ....)
    Le pb est que si dans ma base j'ai par exemple Un exemple
    je retrouverait Un comme valeur au lieu de Un exemple ...alors que dans ma liste déroulante j'ai bien eut Un exemple
    si quelqu'un à une idée .....
    Merci par avance

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
     
    if (!isset($_POST['constructeur'])) { 
    init_base();
     
    echo "<form action'find5.php' method ='post'>";
    echo "<select name='constructeur'>";
        while ($row= mysql_fetch_array($resultat,MYSQL_ASSOC)) {
          foreach ($row as $elem){ 
          echo "<option value=$elem >$elem </option>";
     
          	 }
       }
    echo "<option value='Ajouter un Constructeur'>Ajouter un Constructeur</option>";
    echo "</select> ";
    echo "<input type='submit' value='ok'>";
    echo "</form>";
    mysql_close($connexion);
    }
    else {
     
    $construct=($_POST['constructeur']);
    echo $construct;
     
    }
     
    ?>

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    FAQ : Pourquoi mes valeurs de champs textes de formulaires sont-elles coupées après le premier espace ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value=$elem >$elem </option>";
    N'est pas adapté. Il faudrait plutôt écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="' . htmlentities($elem) . '">' . $elem . '</option>';
    (voir les paramètres facultatifs de la fonction htmlentities au besoin)

  3. #3
    xbu
    xbu est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Par défaut espace
    Merci pour l'indication mais j'ai pas trop compris la substantifique moelle de la réponse car ta solution marche même en enlevant htmlentities c'est surtout sur l'imbrication de " et des ' que cela me gêne , quand utiliser les uns et utiliser les autres ...
    Cdtl
    Xavier

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Si on ne veut pas que la valeur se retrouve tronquée au premier espace, il faut un séparateur marquant les débuts et fins de la valeur de l'attribut value pour la balise option - enfin ici, car c'est aussi valable pour les autres balises HTML dont surtout input - (c'est plutôt les doubles quotes - " - qui assurent ce rôle mais les simples quotes - ' - sont aussi possibles dans ce rôle). Que faire alors si le texte venait à contenir des " (ou bien ', suivant ce que vous avez utilisé à titre de délimiteur) ? Et bien ceux-ci conduirait eux-aussi au même phénomène (coupure à leur rencontre) : c'est pourquoi il faut les remplacer par l'entité html correspondante, d'où l'introduction de la fonction htmlentities.

    (faites différents essais, vous devriez être à même d'observer dans quels cas votre valeur se retrouve tronquée ou non)

Discussions similaires

  1. Récupérer la valeur d'une champ select
    Par kcizth dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/04/2008, 15h03
  2. Comment récuperer la valeur d'un champ select ?
    Par krikete13 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/05/2007, 01h29
  3. récuperer la valeur d'un champ select (liste déroulante)
    Par bous_saad317 dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/11/2006, 13h14
  4. Réponses: 10
    Dernier message: 11/03/2006, 02h51
  5. [MySQL] Pb d'insertion d'une valeur de champ select dans une Bdd
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 20/10/2005, 19h51

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