Visualizzazione dei risultati da 1 a 6 su 6

Discussione: calendario e db

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119

    calendario e db

    Devo fare apparire il prezzo in base alla settimana. E se il campo settimana è vuoto colorare la cella di un colore.

    Ho costruito questo codice ma il prezzo compare uguale in tutte le celle e queste non cambiano colore.

    ----------------------------------------
    <%
    rif = Request.Querystring ("rif")
    mese=Request.Form("mese")
    prezzo=Request.Form("prezzo")
    settimana=Request.Form("settimana")
    Set Conn= Server.CreateObject("Adodb.connection")
    Conn.Open "provider=microsoft.jet.oledb.4.0; data source="& Server.MapPath("/offerte/offerte.mdb")

    function getMese(ByVal mese)
    if not isNumeric(mese) then exit function
    getMese=arrMesi(mese-1)
    end function

    function giorniMese(mese,anno)
    dim giorni
    Select Case cint(mese)
    Case 1,3,5,7,8,10,12:
    giorni = 31
    Case 4,6,9,11:
    giorni = 30
    Case 2:
    if ((cint(anno) mod 4 = 0 and _
    cint(anno) mod 100 <> 0) _
    or ( cint(anno) mod 400 = 0) ) then
    giorni = 29
    else
    giorni = 28
    end if
    End Select
    giorniMese = giorni
    end function

    arrMesi=Array("Gennaio","Febbraio","Marzo","Aprile ","Maggio","Giugno","Luglio","Agosto","Settembre", "Ottobre","Novembre","Dicembre")


    %>
    <table width='100%' cellspacing='2' cellpadding='2'class='tblcalendar'>
    <%

    dim settimana
    dim bgcolor
    settimana = 0
    bgcolor = "#FFD964"
    while NOT RS.EOF
    if y mod 2 <> 0 then
    settimana = "#CCCCCC"
    Else
    bgcolor = "#FFD964"
    End if
    %><%
    settimana = settimana + 1
    Rs.movenext
    wend
    %>
    <%
    sql = "SELECT * FROM disponibilita "

    set rs = conn.execute(sql)
    'y = rs("settimana")
    'mese = rs("mese")
    prezzo = rs("prezzo")
    settimana = rs("settimana")
    mese=month(date())

    for i=mese to 12
    Response.write "<tr>"
    Response.write " <td width='15%'>" & getMese(i) & "</td>"
    primo=datePart("W","01/" & i & "/" & year(date()))
    if primo=7 then
    start=1
    else
    start=1+(7-primo)
    end if
    nGiorni=giorniMese(i,year(date()))
    for y=start to nGiorni
    Response.write "<td collspan='2' bgcolor=" & bgcolor & " width='10%'>" & y & ". </td>"
    Response.write "<td collspan='2' bgcolor=" & bgcolor & " width='10%'>" & prezzo& "</td>"
    y=y+6
    next
    Response.Write "</tr>"
    next
    %>


    <%
    Rs.close
    set Rs = nothing%>

  2. #2
    domanda scema: dov'è che istanzi e apri questo recordset:
    codice:
    dim settimana
    dim bgcolor
    settimana = 0
    bgcolor = "#FFD964"
    while NOT RS.EOF
    if y mod 2 <> 0 then 
    settimana = "#CCCCCC"
    Else
    bgcolor = "#FFD964"
    End if
    %><% 
    settimana = settimana + 1
    Rs.movenext
    wend
    ?

    quest'altro
    codice:
    set rs = conn.execute(sql)
    non lo distruggi

    questo:
    codice:
    mese=month(date())
    
    for i=mese to 12
    cosa significa? perchè il loop dal mese odierno a dicembre?

    codice:
    if y mod 2 <> 0 then
    y che sarebbe? non è ne dichiarata ne valorizzata in questo punto del codice

    codice:
     "<td collspan='2' bgcolor=" & bgcolor & " width='10%'>" & prezzo& "</td>"
    non esiste un controllo del tipo "se settimana è vuota allora stampa il colore altrimenti stampa il prezzo"..qui c'è scritto solo "stampa il prezzo"...


  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119
    Ciao, ho provato a dare una sistemata al codice secondo i tuoi consigli.
    Ora, però il prezzo me lostampa uguale per ogni settimana.
    Come si fa a dirgli di prendere quel prezzo per quella precisa settimana?

    Campi DB tbl disponibilita
    IDdisponibilita |rif | anno | mese | settimana | prezzo

    1 |A021 | 2006 |7 | 15 | 550
    2 |A021 | 2006 |7 | 22 | 650
    3 |A021 | 2006 |7 | 29 | 750
    ------------------------------------------------------------------

    <%

    rif = Request.Querystring ("rif")
    Set Conn= Server.CreateObject("Adodb.connection")
    Conn.Open "provider=microsoft.jet.oledb.4.0; data source="& Server.MapPath("/offerte/offerte.mdb")
    sql =" select * from disponibilita "
    set rs = conn.execute(sql)
    prezzo = rs("prezzo")
    settimana= rs ("settimana")

    %>

    <%
    function getMese(ByVal mese)
    if not isNumeric(mese) then exit function
    getMese=arrMesi(mese-1)
    end function

    function giorniMese(mese,anno)
    dim giorni
    Select Case cint(mese)
    Case 1,3,5,7,8,10,12:
    giorni = 31
    Case 4,6,9,11:
    giorni = 30
    Case 2:
    if ((cint(anno) mod 4 = 0 and _
    cint(anno) mod 100 <> 0) _
    or ( cint(anno) mod 400 = 0) ) then
    giorni = 29
    else
    giorni = 28
    end if
    End Select
    giorniMese = giorni
    end function

    arrMesi=Array("Gennaio","Febbraio","Marzo","Aprile ","Maggio","Giugno","Luglio","Agosto","Settembre", "Ottobre","Novembre","Dicembre")


    %>
    <table width='100%' cellspacing='2' cellpadding='2'class='tblcalendar'>



    <%
    mese=month(date())

    for i=mese to 12
    Response.write "<tr>"
    Response.write " <td width='15%'>" & getMese(i) & "</td>"
    primo=datePart("W","01/" & i & "/" & year(date()))
    if primo=7 then
    start=1
    else
    start=1+(7-primo)
    end if
    nGiorni=giorniMese(i,year(date()))
    for y=start to nGiorni
    Response.write "<td collspan='2' width='10%'>" & y & ". </td>"

    if settimana= 0 then
    Response.write "<td collspan='2' class='ndispo' width='10%'></td>"
    else
    Response.write "<td collspan='2' class='dispo' width='10%'>" & prezzo& "</td>"
    end if
    y=y+6
    next
    Response.Write "</tr>"
    next
    %>


    <%rs.close
    set rs = nothing
    conn.close
    set conn = nothing%>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    devi fare un ciclo nel recordset e ad ogni iterazione leggi il prezzo relativo a quella settimana; tu ora leggi solo quello del primo record

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119
    Mi puoi dare qulache suggerimento in più

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    119

    Aiuto ciclo for

    Chi mi può aiutare per impostare un cilclo for per stampare il prezzo associato alla settimana?
    -------------------------------------------------------------------------------------

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    <%
    function getMese(ByVal mese)
    if not isNumeric(mese) then exit function
    getMese=arrMesi(mese-1)
    end function

    function giorniMese(mese,anno)
    dim giorni
    Select Case cint(mese)
    Case 1,3,5,7,8,10,12:
    giorni = 31
    Case 4,6,9,11:
    giorni = 30
    Case 2:
    if ((cint(anno) mod 4 = 0 and _
    cint(anno) mod 100 <> 0) _
    or ( cint(anno) mod 400 = 0) ) then
    giorni = 29
    else
    giorni = 28
    end if
    End Select
    giorniMese = giorni
    end function

    arrMesi=Array("Gennaio","Febbraio","Marzo","Aprile ","Maggio","Giugno","Luglio","Agosto","Settembre", "Ottobre","Novembre","Dicembre")


    %>
    </head>

    <body>
    <%

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "provider=microsoft.jet.oledb.4.0; data source="& Server.MapPath("/offerte/offerte.mdb")
    Set Rs = Server.CreateObject("ADODB.Recordset")
    sql =" select * from disponibilita ORDER BY settimana ASC"
    Rs.Open sql, Conn, 1, 3
    %>

    <table width="450" border="0" cellpadding="0" cellspacing="0">
    <%
    While NOT rs.EOF

    mese=month(date())
    for i=mese to 12

    Response.Write" <tr><td>" & getMese(i) & "</td>"
    primo=datePart("W","01/" & i & "/" & year(date()))
    if primo=7 then
    start=1
    else
    start=1+(7-primo)
    end if
    nGiorni=giorniMese(i,year(date()))
    for y=start to nGiorni

    Response.Write"<td>" & y & "</td> <td>" & Rs("prezzo") & "</td>"
    y=y+6
    next
    Response.Write"</tr>"
    next
    %>

    <%
    rs.MoveNext
    Wend
    %>
    </table>
    <%
    rs.close
    set rs = nothing
    conn.close
    set conn = nothing
    %>


    </table>
    </body>
    </html>

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.