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

JavaScript Discussion :

tiret avec les données de ma db sql


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Points : 6
    Points
    6
    Par défaut tiret avec les données de ma db sql
    Bonjour à tous,

    Jumano m'a bien aidé en son temps afin que je puisse avancer dans la petite gestion que je suis entrain de réaliser.
    Elle est enfin terminée mais............et oui quand on crois que tout est parfait, on tombe souvent sur un HIC.

    J'utilise le code suivant afin d'alimenter automatiquement certaines zones dans mon formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script language="javascript">
    function copie_champs() {
    var nom = document.getElementById('nom');
    var valeur_nom = nom.options[nom.selectedIndex].value;
    var texte_nom = nom.options[nom.selectedIndex].text;
     
    var tableau_nom = valeur_nom.split("-");
     
    document.getElementById('email').value = tableau_nom[0];
    document.getElementById('tel').value = tableau_nom[1];
    document.getElementById('nomprenom').value = texte_nom;
    }
    </script>

    Formulaire :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <body background="52.jpg" style="background-attachment: fixed">
    <div align="center">
    <table border="0" cellpadding="0" cellspacing="0" width="800" height="600">
    <!-- MSTableType="layout" -->
    <tr>
    <td valign="top" height="600" width="800"> 
    <form action ="ticket_enregistre.php" enctype="multipart/form-data" method="post">
    <!-- Liste deroulante nomprenom -->
    <select name="nom" id="nom" onchange="copie_champs();">
    <?php include("users.inc.php");
    $liendb = mysql_connect($host,$user,$pws);
    mysql_select_db ($database); 
    $SQL = "SELECT nomprenom, email, tel FROM users order by nom";
    $res = mysql_query($SQL);
    while($val=mysql_fetch_array($res)) 
    {
    echo "<option value='".$val["email"]."-".$val["tel"]."' >".$val["nomprenom"]."</option>\n";
    }
    ?> 
    </select>
    <!-- Champs caché pour le nomprenom -->
    <input type="hidden" name="nomprenom" id="nomprenom">
    <!-- Zone texte email-->
    <input type="text" name="email" id="email" size="10">
    <!-- Zone texte tel-->
    <input type="text" name="tel" id="tel" size="20"> 
    <!-- Fichier attache -->
    <input type="file" name="fichierannexe">
     
    <!-- Bouton Envoyer vers DB SQL Ticket --> 
    <div style="position: absolute; top: 485px; left: 510px; width: 88px; height: 26px; z-index:1">
    <input type="submit" value="Envoyer">
    </div>
    <!-- Bouton clear Gauche -->
    <div style="position: absolute; top: 485px; left: 414px; width: 62px; height: 26px">
    &nbsp;<input type="reset" name="reset" value="Clear"> 
    </div>
    </form>
    </body>
    Mon soucis : Dans la zone email de ma table sql, j'ai des adresses qui ont en contenu un point et un tiret.
    Et voilà le GROS problème...l'adresse email qui contient un tiret est tronquée et le résultat ce place sur deux zones de mon formulaire "email" et "tel" j'ai donc une adresse email en deux parties.
    J'essaie de comprendre le pourquoi du comment et je me suis dit que c'était certainement la fonction valeur_nom.split ("-") qui déconne puisque j'ai un tiret dans l'adresse. J'ai changé par les / : . ; et le problème persiste.
    Avez-vous une suggestion suite à ce prob ?

    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Premier conseil pour y voir plus clair dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option value="'.$val["email"].'-'.$val["tel"].'" >'.$val["nomprenom"].'</option>'."\n\r";
    mets les ' poru le php et les " pour le html

    mais ton souci ne provient pas de là ...
    tu splittes sur - et tu n'as aucun moyen de savois si c'est un tiret dasn un email ou pas ...
    change de separateur ...

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Changer de séparateur est certainement la meilleure solution, cependant, avec un peu de chance, tu fait précéder et suivre ton séparateur par des espaces :
    dans ce cas, tu peux tout simplement splitter sur " - "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var tableau_nom = valeur_nom.split(" - ");
    et je ne pense pas qu'il y ait d'espaces dans tes adresses mail

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    oui ou avec un regExp


Discussions similaires

  1. Réponses: 10
    Dernier message: 11/08/2009, 14h43
  2. Réponses: 3
    Dernier message: 08/12/2005, 10h38
  3. Problème avec les données binaire
    Par Lachessis dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/08/2005, 17h38
  4. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57
  5. Réponses: 13
    Dernier message: 14/10/2003, 14h31

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