Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Condizione per lasso di tempo

    Signori prima che mi scoppi la testa chiedo aiuto...

    Ho bisogno di fare apparire per 3 giorni una scritta NOVITA' per le news,poi deve sparire da sola...
    questi sono i dati per porre la condizione:

    giornoinizio = oRs("nDate")

    giornofine = DateTimeToString(DateAdd("d",3,Now()))

    oggi =DateTimeToString(Now())

    Le formattazione sono tutte e tre uguali 20070419 18:16:59

    Ho provato le combinazioni in tutti i modi a me logicamente consoni.

    If giornoinizio <= DateTimeToString(Now()) AND DateTimeToString(Now()) => giornofine Then
    appari
    Else
    NO
    End If

    grazie :master:
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  2. #2
    ma che è DateTimeToString?

    codice:
    if cdate(oggi) >= cdate(giornoinizio) and cdate(oggi)<= cdate(giornofine) then
         response.write "giorno compreso nel range di date"
    else
        response.write "giorno non compreso"
    end if
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Purtroppo da sempre True

    if oggi >= giornoinizio and oggi <= giornofine then
    True
    Else
    False
    End If

    Stampando a video la formattazione delle date di tutte tre le variabili è

    Response.Write 06/04/2007 20.13.18

    quindi mi pare strano che non vengano interpretate bene dalla condizione.

    Non se ne viene furori.

    In sostanza non è altro che una select che estrae delle news dove la data è < di Oggi
    i record passano da un ciclo While che stampa a video.

    rSQL = "SELECT * FROM news WHERE nDate < '" & DateTimeToString(Now()) & "'"


    Il risultato delle News di questa select devono stare 3 giorni fuori dalla data che vengono estratte dal DB, ma non ci si riesce stanno sempre fuori.

    PS:
    StringToDate è la funzione sotto.

    Function StringToDate(sDate)
    Dim dDate
    dDate = DateSerial(Left(sDate, 4), Mid(sDate, 5, 2), Mid(sDate, 7, 2))
    If Len(sDate) > 8 Then dDate = dDate + TimeSerial(Mid(sDate, 10, 2), Mid(sDate, 13, 2), Mid(sDate, 16, 2))
    StringToDate = dDate
    End Function

    Che dici?
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  4. #4
    codice:
    rSQL = "SELECT * FROM news WHERE nDate <#" & cdate(now()) & "#"
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Ciao, ho provato a mettere i cancelletti
    rSQL = "SELECT * FROM news WHERE nDate <#" & cdate(now()) & "#"

    in questo modo non estrae alcun record.

    Magari dimmi in breve la logica di quella sintassi così faccio qualche prova.

    Grazie
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  6. #6
    1) che db usi?

    2) ma nDate è un campo data?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Il database è MySQL, nDate contiene le date da cui giorno devono apparire le News, il tipo di campo assegnato a nDate è varchar(17).
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

  8. #8
    Ecco la soluzione



    If DateDiff("d", datainizio, now())<cInt(3) then
    True
    Else
    False
    End If

    Per tre giorni è True
    http://www.romagnamania.com
    Una community tutta gratis per chi ama la Romagna.

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.