Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Fare query annidate?

  1. #1

    Fare query annidate?

    Come da oggetto devo fare una query all'interno di un'altra, cosa che non so se sia possibile.
    Descrivo a fondo il problema:

    Ho una tabella con una lista di radio ed i loro dati tra cui per alcune lo streaming web.

    In un'altra tabella ci sono le fasce orarie dello streaming ( ce ne possono essere più di una per ogni radio ) con giorno, orainizio ed orafine ( ora in formato 00.00 )

    In comune le due tabelle hanno il nome della radio

    Devo stampare a video l'elenco delle radio che hanno lo streaming e per ogni radio in caso il giorno e l'ora attuale coincida con quella memorizzata visualizzare qualcosa ( tipo "ascolta ora!" oppure "adesso online" ecc..).

    Stampare a video l'elenco delle radio con streaming è stata na passeggiata, ma visualizzare le altre info mi ha messo in grande difficoltà.
    vi posto il codice della pagina da implementare
    codice:
     
    
    <script>
    
    if (!document.layers&&!document.all)
    event="test"
    function showtip2(current,e,text){
    
    if (document.all&&document.readyState=="complete"){
    document.all.tooltip2.innerHTML='<marquee style="border:1px solid black">'+text+'</marquee>'
    document.all.tooltip2.style.pixelLeft=event.clientX+document.body.scrollLeft+10
    document.all.tooltip2.style.pixelTop=event.clientY+document.body.scrollTop+10
    document.all.tooltip2.style.visibility="visible"
    }
    
    else if (document.layers){
    document.tooltip2.document.nstip.document.write(''+text+'')
    document.tooltip2.document.nstip.document.close()
    document.tooltip2.document.nstip.left=0
    currentscroll=setInterval("scrolltip()",100)
    document.tooltip2.left=e.pageX+10
    document.tooltip2.top=e.pageY+10
    document.tooltip2.visibility="show"
    }
    }
    function hidetip2(){
    if (document.all)
    document.all.tooltip2.style.visibility="hidden"
    else if (document.layers){
    clearInterval(currentscroll)
    document.tooltip2.visibility="hidden"
    }
    }
    
    function scrolltip(){
    if (document.tooltip2.document.nstip.left>=-document.tooltip2.document.nstip.document.width)
    document.tooltip2.document.nstip.left-=5
    else
    document.tooltip2.document.nstip.left=150
    }
    
    </script>
    
    <div id="tooltip2" style="position:absolute;visibility:hidden;clip:rect(0 100 50 0);width:100px;background-color:lightyellow">
    <layer name="nstip" width=1000px bgColor="lightyellow"></layer>
    </div>
    <%
    Conn.Open strConn
    sql = "SELECT * FROM tbl_radio WHERE STREAMING <> ''" 
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    if rs.eof then
    Response.Write("No streaming.")
    else
    for i=1 to rs.recordcount
    rs.absoluteposition=i
    %>
    
    
    
    ')" onMouseout="hidetip2()" target="_blank">[img]../image/play.gif[/img]<%=rs(1)%>
    
    
    <%
    next
    end if
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    Vi ringrazio sin da adesso per qualsiasi aiuto o suggerimento...

  2. #2
    Ho fatto delle prove non come intendevo ma tanto per provare alternative!
    dopo aver chiuso il rs ho aggiunto
    codice:
    ora = FormatDateTime(Now(),4) & " " 
    
    if weekday(date) = 1 then
    giorno = ("domenica") 
    end if
    if weekday(date) = 2 then
    giorno = ("lunedi") 
    end if
    if weekday(date) = 3 then
    giorno = ("martedi") 
    end if
    if weekday(date) = 4 then
    giorno = ("mercoledi") 
    end if
    if weekday(date) = 5 then
    giorno = ("giovedi") 
    end if
    if weekday(date) = 6 then
    giorno = ("venerdi") 
    end if
    if weekday(date) = 7 then
    giorno = ("sabato") 
    end if
    response.write ora & "
    " & giorno
    
    Sql = " SELECT * FROM tbl_orari_streaming WHERE giorno LIKE '%" & giorno & "%'"
    
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    if rs.eof then
    Response.Write("Nessuno online adesso.")
    else
    for i=1 to rs.recordcount
    rs.absoluteposition=i
    If rs(2) >= ora and rs(2) <= ora then
    response.write rs(1)
    end if
    next
    end if
    
    rs.Close
    set rs = Nothing
    
    conn.Close
    set conn = Nothing
    Ma il problema è che gli orari salvati nel database essendo in formato ora breve 24 h se per esempio inserisco le 3 ( 03.00 ) viene salvato come 3.00 non riesco a compararle con la data prelevata dal server che nel caso delle 3 sarebbe 03.00.
    infatti nella stringa
    codice:
    If rs(2) >= ora and rs(2) <= ora then
    response.write rs(1)
    end if
    mi restituisce ... niente nono stante che mi sia fatto stampare a video i risultati ed essendo purtroppo in formatto h.mm e non hh.mm !!!

    HELP!!!

  3. #3
    Ho effettuato delle modifiche. Ora visualizzo solo l'ora corrente in modo da non avere più problemi di hh.mm
    Ma cmq la query non mi funge.
    Se metto
    Sql = " SELECT * FROM tbl_orari_streaming WHERE inizio = " & ora & " AND fine < " & ora
    non funge
    se invece metto
    Sql = " SELECT * FROM tbl_orari_streaming WHERE inizio = " & ora

    mi restituisce i valori
    io però ho tre parametri di riferimento
    giorno(testo), inizio e fine (numerico)

    Vi prego sono impantanato... devo uscirne fuori !!!

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.