Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    Controllo su id_lingua per visualizzare bandierine

    Ciao

    vorrei far visualizzare nella pagina web le bandierine delle lingue.

    Creo le mie pagine dinamicamente e quando creo una nuova pagina faccio inserire obbligatoriamente la lingua, quindi il record di una mia pagina è così:

    codice:
    ID -- NOME PAGINA -- ID_LINGUA -- IMG_BANDIERA  
     1 --            HOME --            31 -- /public/image/Italy.png
     2 --      CONTATTI --            31 -- /public/image/Italy.png
     3 --            HOME --            21 -- /public/image/UK.png
     4 --     CONTACTS --            21 -- /public/image/UK.png
    ora ho pensato, per visualizzare le bandierine, di fare un controllo che verifica se ci sono due o più valori numerici di id_lingua differenti, e se ce ne sono, allora visualizzo le bandierine delle corrispondenti lingue, se invece in tutti i record c'è solo un id_lingua, vuol dire che il sito è fatto in una sola lingua quinidi, non mi interessa visualizzare la bandierina.

    Quello che non so fare:

    1) non so fare il confronto fra numeri
    2) utilizzando "select distinct" o "group by" faccio fare il confronto solo sui numeri "univoci", il che sarebbe corretto, ma poi questi tipi di select, non mi permettono di "estrarre" i valori da IMG_BANDIERA, xchè le select permette di raggruppare solo un campo, cioè: id_lingua.

    In IMG_BANDIERA ci sono scritti i percorsi delle immagini presenti sul server.

    Il codice che ho pensato è così:

    codice:
            <% 'Dichiaro” la seconda sql e la eseguo con metodo execeute %>
    		<% sql2 = "select id_lingua from TabMenuOriz GROUP by id_lingua order By id_lingua"
      	       set rs_menu_oriz2=cn.execute(sql2) %>
               
    <% id_lingua = rs_menu_oriz2("ID_LINGUA") %>
    
    <% If id_lingua ?????????????  Then %>
    <section id="tbn_img_bandiera">
    
    	<% Do While Not rs_menu_oriz2.eof %>	
    	
        <ul>
    		[*]
    			[img]<%=rs_menu_oriz2([/img]">
    		
    	[/list]
        
    	<% rs_menu_oriz2.MoveNext 
           Loop
           rs_menu_oriz2.MoveFirst() %>
    
    </section>
    <% End If %>
    
    <%
    'Chiudo il recordset
    rs_menu_oriz2.Close 
    Set rs_menu_oriz2 = Nothing
    %>
    Potete chiarirmi le idee?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    sono riuscito ad andare un pò avanti con il mio script:

    codice:
    <% sql2="SELECT distinct id_lingua, IMG_BANDIERA from TabMenuOriz"
          set rs_menu_oriz2=cn.execute(sql2) %>
               
    <% id_lingua = rs_menu_oriz2("ID_LINGUA") %>
    
    <% 'If id_lingua >= id_lingua  Then %>
    <% If id_lingua = è un numero solo  Then %>
    <%= "C'è solo un id_lingua, quindi non visualizzo la bandierina!" %>
    <% Else %>
    
    <section id="tbn_img_bandiera">
    
    	<% Do While Not rs_menu_oriz2.eof %>	
    	
        <ul>
    		[*] 
    		 [img]<%=rs_menu_oriz2([/img]">
    		
    	[/list]
        
    	<% rs_menu_oriz2.MoveNext 
           Loop
           rs_menu_oriz2.MoveFirst() %>
    
    </section>
    <% End If %>
    Quello che mi manca è il confronto x vedere se in id_lingua c'è un numero solo o da 2 in su.

    Come posso tradurre in codice:

    codice:
    <% If id_lingua = è un numero solo  Then %>
    <%= "C'è solo un id_lingua, quindi non visualizzo la bandierina!" %>
    <% Else %>
    
    ...
    [img]<%=rs_menu_oriz2([/img]">
    ...
    
    end if
    ?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi
    codice:
    <% sql2="SELECT distinct id_lingua, IMG_BANDIERA from TabMenuOriz"
          set rs_menu_oriz2=cn.execute(sql2) %>
    <%
    N_bandierine=0
     Do While Not rs_menu_oriz2.eof 
    N_bandierine = N_bandierine+1
    if N_bandierine > 0 Then
    ListaBandiere = "<ul>[*][img][/img][/list]"
    Else
    ListaBandiere = ""
    End if
    rs_menu_oriz2.MoveNext 
           Loop
           rs_menu_oriz2.MoveFirst() 
    %>
    <section id="tbn_img_bandiera">
    <%=ListaBandiere%>
    </section>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao

    ho provato lo script ma c'è un piccolo errore, cioè non funziona il ciclo, mi estrae sempre una bandierina invece di due o più.
    Ho provato a modificare il ciclo ma ottengo lo stesso risultato.

    Al tuo script ho fatto una piccola modifica, mettendo a > 2 la visualizzazione delle bandierine e se sono <2 allora visualizzo un msg:

    codice:
    <% sql2="SELECT distinct id_lingua, IMG_BANDIERA from TabMenuOriz"
       set rs_menu_oriz2=cn.execute(sql2) %>
    
    <%
    N_bandierine=0
     Do While Not rs_menu_oriz2.eof
    
    N_bandierine = N_bandierine+1
    if N_bandierine > 2 Then
    
    ListaBandiere = "<ul>[*][img][/img][/list]"
    
    Else
    ListaBandiere = "C'è solo un id_lingua quindi visualizzi solo una bandierina!"
    
    End if
    rs_menu_oriz2.MoveNext 
           Loop
           rs_menu_oriz2.MoveFirst() 
    %>
    <section id="tbn_img_bandiera">
    <%=ListaBandiere%>
    </section>

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Pensavo che la query funzionasse ma ora ho qualche dubbio, rivedi la logica o raggruppi i record o li conti, e credo anche che dovrai aprire il recordset al posto del execute
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ho provato ad aprire il recordset nel modo classico:

    codice:
    sql2="SELECT distinct id_lingua, IMG_BANDIERA from TabMenuOriz"
    rs_menu_oriz2.Open sql2, cn, 1
    ma mi da sempre lo stesso risulato.

    Ho provato anche così:



    codice:
    sql2="SELECT distinct id_lingua, IMG_BANDIERA from TabMenuOriz"
    rs_menu_oriz2.Open sql2, cn, 1
    
    N_bandierine=0
    N_bandierine = N_bandierine+1
    
    if N_bandierine <= 1 Then
    
    	ListaBandiere = "C'è solo un id_lingua quindi visualizzi solo una bandierina!"
    
    else
    	Do While Not rs_menu_oriz2.eof
    		
    		ListaBandiere = "<ul>[*][img][/img][/list]"
    	
    	rs_menu_oriz2.MoveNext 
    	Loop
    	rs_menu_oriz2.MoveFirst()
    
    End if
    %>
    <section id="tbn_img_bandiera">
    <%=ListaBandiere%>
    </section>
    ma non passa il primo controllo anche se ci sono 3 id_lingua nel db!

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    N_bandierine=0
    N_bandierine = N_bandierine+1

    if N_bandierine <= 1 Then

    Questo non ha senso la variabile N_bandierine viene incrementata Do While

    in oltre non capisco cosa centri il distinct prova cosi
    sql2="select id_lingua from TabMenuOriz GROUP by id_lingua order By id_lingua"
    rs_menu_oriz2.Open sql2, cn, 1
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Allora l'ultima query che mi hai passato l'avevo già provata e non va bene xché si che raggruppo i valore nell'ID_BANDIERA (che è un campo numero normale e non contatore), ma mi serve anche il campo IMG_BANDIERA che con quella select viene tagliato fuori.

    Ora ho provato così ma il ciclo non fa il suo dovere ed estrae sempre una bandierina anche se ce ne sono 3!...xrò funziona quando c'è un valore numerico solo e quindi visualizzo il msg.

    Il codice è questo:

    codice:
    <%
    'Dichiaro il recordset
    Dim rs_menu_oriz2
    'Creo il recordset
    Set rs_menu_oriz2 = Server.CreateObject("ADODB.Recordset")
    'Dichiaro la stringa Sql
    Dim sql2
    %>
    <% sql2="SELECT TabMenuOriz.ID_LINGUA, TabMenuOriz.IMG_BANDIERA FROM TabMenuOriz GROUP BY TabMenuOriz.ID_LINGUA, TabMenuOriz.IMG_BANDIERA;" 
       rs_menu_oriz2.Open sql2, cn, 1 %>
    <%
    N_bandierine=0
    Do While Not rs_menu_oriz2.eof 
    N_bandierine = N_bandierine+1
    	if N_bandierine > 1 Then
    		ListaBandiere = "<ul>[*][img][/img][/list]"
    	Else
    		ListaBandiere = "C'è solo un id_lingua quindi visualizzi solo una bandierina!"
    	End if
    rs_menu_oriz2.MoveNext 
    Loop
    rs_menu_oriz2.MoveFirst() 
    %>
    <section id="tbn_img_bandiera">
    <%=ListaBandiere%>
    </section>
    
    <%
    'Chiudo il recordset
    rs_menu_oriz2.Close 
    Set rs_menu_oriz2 = Nothing
    %>

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    sql2="SELECT TabMenuOriz.ID_LINGUA, TabMenuOriz.IMG_BANDIERA FROM TabMenuOriz; prova togliendo il raggruppamento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    ...macchè...stessa cosa!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.