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 :

[asp] sql server probleme de logique..


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut [asp] sql server probleme de logique..
    Bonjour,
    voila j'ai un petit probleme de logique, je m'explique:
    j'ai un site web avec pour une partie du site une traduction en 3 langues et pour une autre, une traduction en juste deux langues.
    Pour cela j'initialise ma Session("langue") en fonction du navigateur et il va me chercher dans la base les données a afficher en fonction de cette session("langue").
    ensuite pour changer de langue j'ai un fichier include :


    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
    <script langage="JavaScript">
    function affImages(){
       if(document.getElementById('fr').style.display == "none"){
          document.getElementById('fr').style.display = "block";
          document.getElementById('en').style.display = "block";
          document.getElementById('es').style.display = "block";
       }
       else{
          document.getElementById('fr').style.display = "none";
          document.getElementById('en').style.display = "none";
          document.getElementById('es').style.display = "none";
       }
    }
     
     
    </script>
    	<table border=0 summary="">
    	<tr>
    		<td>&nbsp;</td>
    		<td onclick="affImages()" ><img src="../images/drapeaux/language.gif" width="73" height="16" border="0"></td>
    		<td id="fr" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"fr"%>"><img src="../images/drapeaux/francais.gif" width="22" height="14" border="0"></a></td>
    		<td id="en" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"en"%>"><img src="../images/drapeaux/anglais.gif"  width="22" height="14" border="0"></a></td>
    		<td id="es" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"es"%>"><img src="../images/drapeaux/espagnol.gif" width="22" height="14" border="0"></a></td>
    	</tr>
    </table>
    jusque la pas de probleme tout marche mais je n'arrive pas a mettre en place un systeme qui ne m'afficherait que les drapeaux anglais et francais si dans ma base je n'ai par exemple pour la page home.asp juste fr et en, a savoir si je fais une requete du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select langue_id from  page where  page_nom='home.asp'
    qui ne me renvoit que en et fr alors il faudrait juste afficher les drapeaux correspondant, mais la je seche completement niveau logique...


    J'ai bien essayé de recuperer mes langue_id ds un tableau mais apres toujours cette fichue logique qui me manque de si bon matin...

    Voila en esperant avoir ete clair
    et en attendant une reponse eventuelle de votre part!
    D'avance merci!

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Soit il est tard et je ferai mieux de me coucher soit tu n'es pas clair.

    Peux-tu approfondir?

    Merci

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

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

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

    Je suppose que le résultat de ta requête est stocké dans un recordset ?

    Alors, tu parcours ton recordset et en fonction des valeurs que tu lis, tu affiche les images correspondantes :

    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
     
    <%
    do while not rst.eof
       if rst("langue_id") = "en" then
          %>
          <img src="en.gif">
          <%
       else if rst("langue_id") = "fr" then
          %>
          <img src="fr.gif">
          <%
       else if rst("langue_id") = "it" then
          %>
          <img src="it.gif">
          <%
       end if
       rst.movenext
    loop
    %>

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    merci je vais essayer ca je vous tiens au courant!
    Ps: je savais bien que je n'etais pas tres clair...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    bon je me réeplique:
    j'ai une page home.asp qui en base a trois traductions, et une autre page qui elle n'en a que deux.
    Je voudrais avoir le meme fichier menuLangue en include qui m'affiche soit trois drapeaux pour trois traductions soit deux drapeaux pour deux traductions.
    sur ma page home j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- #include File="../Includes/DS_FONCTIONS.asp"-->
    nbDrapeaux("home.asp")
    avec ds mon fichier DS_FONCTIONS:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function nbDrapeaux(NomPage)
    	strQuery="select langue_id from  page where  page_nom='"&NomPage&"'	"
    	set objRS3 = Server.CreateObject("ADODB.Recordset")
    	set objRS3.ActiveConnection = objConn
     	objRS3.Open strQuery
    	end function

    ensuite plus loin dans mon fichier home toujours, j'ai:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- #include File="../Includes/MenuLangue.asp"--></td>

    et mon fichier MenuLangue.asp c'est :


    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
    40
    41
    42
    function affImages(){
       if(document.getElementById('fr').style.display == "none"){
          document.getElementById('fr').style.display = "block";
          document.getElementById('en').style.display = "block";
          document.getElementById('es').style.display = "block";
       }
       else{
          document.getElementById('fr').style.display = "none";
          document.getElementById('en').style.display = "none";
          document.getElementById('es').style.display = "none";
       }
    }
     
     
    </script>
    	<table border=0 summary="">
    	<tr>
    		<td>&nbsp;</td>
    		<td onclick="affImages()" ><img src="../images/drapeaux/language.gif" width="73" height="16" border="0"></td>
    <%	
    while not objRS3.eof
       if objRS3("langue_id") = "fr" then
          %>
    		<td id="fr" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"fr"%>"><img src="../images/drapeaux/francais.gif" width="22" height="14" border="0"></a></td>
     <%
       end if
       if objRS3("langue_id") = "en" then
          %>		
    		<td id="en" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"en"%>"><img src="../images/drapeaux/anglais.gif"  width="22" height="14" border="0"></a></td>
     <%
       end if 
        if objRS3("langue_id") = "es" then
          %>		
    		<td id="es" style="display:none" width="23" height="14"><a href="<%=request.ServerVariables("PATH_INFO")+"?langue="+"es"%>"><img src="../images/drapeaux/espagnol.gif" width="22" height="14" border="0"></a></td>
    <%  
    end if
    objRS3.movenext
    wend
    objRS3.close
    %>
    	</tr>
    </table>
    Mais quand je lance ma page il me dit une erreur au niveau de mon incllude puisque lorsque j'affiche la source de ma page home.asp au niveau de mon include il me ressort:
    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
    function affImages(){
       if(document.getElementById('fr').style.display == "none"){
          document.getElementById('fr').style.display = "block";
          document.getElementById('en').style.display = "block";
          document.getElementById('es').style.display = "block";
       }
       else{
          document.getElementById('fr').style.display = "none";
          document.getElementById('en').style.display = "none";
          document.getElementById('es').style.display = "none";
       }
    }
     
     
    </script>
    	<table border=0 summary="">
    	<tr>
    		<td>&nbsp;</td>
    		<td onclick="affImages()" ><img src="../images/drapeaux/language.gif" width="73" height="16" border="0"></td>
     
    	</tr>
    </table>
    Donc ca se passe mal puisque je devrais pour cette page avoir le francais et l'anglais, c'est tout, pas l'espagnol, or il ne m'affiche rien.
    De plus je vais surement devoir faire le test auniveau de ma fonction javascript affImages() sinon si je n'ai pas l'id="es" alors pour la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     document.getElementById('es').style.display = "block";
    entre autre il va me dire :"Un objet est requis" ce qui est normal!

    Bref en esperant avoir ete un petit peu plus clair...(j'en doute mais on ne sait jamais )
    D'avance merci!!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut

    un debut de reponse avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if rtrim(objRS3("langue_id")) = "fr" then
    qui me supprime les espaces et donc me renvoie bien la bonne valeur maintenant je dois faire le test aussi de la fonction AffImage() pour eviter l'erreur "Un objet est recquis pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('es').style.display = "block";
    car en l'occurrence pas de traduction espagnole, donc pas drapeaux espagnol donc pas d'ID="es", bref je m'y remets mais si quelqu'un a une solution a m'apporter je suis preneur!
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL Server] problème de classement, calcul d'un rang
    Par lepeule dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/10/2019, 10h31
  2. probleme ASP/SQL server 2000
    Par mitch46000 dans le forum ASP
    Réponses: 10
    Dernier message: 07/09/2007, 15h42
  3. [SQL Server] Probleme avec not exists
    Par maxxou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2006, 16h51
  4. ASP/ SQL Server : resultat de RS dans une cellule.
    Par joe_le_mort dans le forum ASP
    Réponses: 2
    Dernier message: 11/08/2005, 13h26
  5. Regroupement d'enregistrements en ASP/SQL Server
    Par Matlight dans le forum ASP
    Réponses: 3
    Dernier message: 02/04/2004, 13h31

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