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

ASP Discussion :

Interprétation d'une variable


Sujet :

ASP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Interprétation d'une variable
    Bonjour,
    Voilà j'ai un petit soucis au niveau d'une lecture de variable.
    J'ai une variable "COMP" que je crée à partir d'un formulaire "default.asp"
    Je la fais passé à la page "arrivée.asp" grace à l'URL de la page.
    A ce niveau, je demande un affichage de la variable dans cette page ("arrivée.asp")ça s'affiche normalement et je fais une requete SQL avec la variable qui marche pas.
    La variable COMP s'écrit sous la forme ("X" , "Y" , "")
    J'ai une deuxième variable CALC qui a comme valeur une chaine de caractère à 3 lettres qui fais exactement le même parcours et qui elle par contre marche sans pbm dans la requête SQL
    Je ne sais pas si le pbm viens de la requête SQL ou du code ASP
    Merci de votre aide

  2. #2
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    J'y connais pas grand chose mais ça vient peut-être du format de la variable "COMP". Tu peut peut-être faire 3 variables qui prendraient les valeurs de "x", de "y" et de "". Ce serai à ce moment là ces variables que tu passerai dans ta requête.
    J'éspère que j'ai pu t'aider sinon excuse mon ignorance.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    En fait la valeur COMP je la recup à partir d'une liste à choix multiple la première valeur est X et la deuxième est Y (il peut en avoir qu'une seul ou Plus donc je ne sais pas compbien de valeur je peut avoir)

    Je l'ai mise sous ce format pour que je puisse l'intégrer à la requête SQL c'est pour ça

    Merci qd mm pour la reponse

  4. #4
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    Tu peux mettre ton code pour que l'on puisse y voir plus clair.

    Merci.

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Si ta variable est issue d'une liste à choix multiples, tu récupères une liste de valeurs séparées par des virgules.

    Tu fais un split() de cette variable et tu boucles sur la valeur ubound().

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Pour définir et créer la variable dans fichier.asp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    COMPV = ""; 
    for (i=0; i<document.CHOICE.COMP.options.length; i++) { 
      if (document.CHOICE.COMP. options[i].selected ) { 
        Num=Number(Num+1); 
        COMPV = COMPV+";"+document.CHOICE.COMP.options[i].value; 
      } 
    }
    Sinon je l'envoie par appel de fichier_bis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.open("fichier_bis.asp?LAB="+LABV+"&COMP="+COMPV+"&DELAY="+DELAYV+"&ROWS="+ROWSV+"&SSIZE="+SSIZEV+"&LANG="+LANGV,"","fullscreen=yes,scrollbars=no")
    Dans le fichier fichier_bis.asp je récup la variable grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COMP = Request.QueryString("COMP")
    Et comme c'est juste un fichier qui déclare chaque frame il fais appel à un deuxième fichier avec les varaibles passées avec l'URL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td width="100%" height="<%=SIZEF1%>"><iframe name=fm1 frameborder="no" scrolling="no" width="100%" height="100%" src="fichier1_bis.asp?LAB=<%=LAB%>&COMP=<%=COMP%>&DELAY=<%=DELAY%>&ROWS=<%=ROWS%>&PAGE=1" ></iframe></td>
    C'est qu'au niveau du "fichier1_bis.asp" que les traitement sont fait:
    Récupération de la variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COMP = Request.QueryString("COMP")
    Je fais un affichage de la variable dans une partie de la page avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%response.Write(COMP)%>
    qui marche sans problème

    Par contre c'est qu'au niveau de la requpete SQL qui suit qui passe pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySQL1="SELECT * FROM TABLE WHERE ORIG='" & LAB & "' and Substring(Champs, 1, 2) IN ' " & COMP &" ' AND STATE not in ('DEP','OUT') ORDER BY DOO, STD ASC"
    Quand j'écris la valeur de la variable COMP à la place ça marche sans problème.
    En plus la variable LAB est interprétée sans problème sa marche

    Voilà mon problème j'éspère avoir été le plus clair possible sinon n'hésiter pas à me poser des questions
    Merci pour votre aide

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Quel est le résultat de <%response.Write(COMP)%> ?

  8. #8
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    J'ai bien l'impression que les guillemets (simple quotes) du premier IN de mySQL1 sont superflus.

    Ryan

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Si l'utilisateur selectionne X et Y et ben la valeur de COMP sera égal ) ("X" , "Y", "") et c'est que affiche <%response.Write(COMP)%>
    Donc c'est la bonne valeur quelle affiche

    Sinon pour ceux qui est des quotes c'est pas là le pbm j'ai essayé de les enlever mais ça marche pas non plus.

  10. #10
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    Et si tu affiches ta requete juste après pour voir, cela donne quoi?

  11. #11
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    En fait, qu'est-ce qui ne marche pas? Tu as un message d'erreur ou tu as l'impression que le premier IN de mySQL1 n'est pas pris en compte?

    Ryan

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    en fait puisque la requête n'est pas faite la page fichier1_bs n'est même aps afficher.
    Car c'est le resultat de la requête qui est affiché

    C'est ça le pbm ;-)

    Quand je change la requête en mettant la valeur de COMP dans celle ci la page s'affcihe sans problème

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mySQL1="SELECT * FROM TABLE WHERE ORIG='" & LAB & "' and Substring(Champs, 1, 2) IN ("X" , "Y", " ") AND STATE not in ('DEP','OUT') ORDER BY DOO, STD ASC"
    Est ce que j'ai été assez clair????

  13. #13
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Il arrive parfois que le message d'erreur ne soit pas affiché.
    Il est alors nécessaire de visualiser la source de la page pour voir le message d'erreur.

    Note au passage la subtile différence entre ("X" , "Y", " ") et ("X" , "Y", "")


    Ryan

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/07/2012, 11h39
  2. [shell] Interprétation d'une variable issue d'un fichier
    Par seawolfm dans le forum Administration système
    Réponses: 3
    Dernier message: 09/03/2011, 23h27
  3. Réponses: 10
    Dernier message: 07/04/2010, 21h14
  4. Réponses: 4
    Dernier message: 03/08/2009, 09h21
  5. interpréter/précalculer une variable
    Par Giansolo dans le forum Mathématiques
    Réponses: 4
    Dernier message: 28/06/2007, 09h35

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