Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400

    Inserimento intervallo date.

    Ciao.

    Supponiamo di avere due date:

    data inizio = 15/02/2008 e data fine = 21/02/2008 quindi un periodo di 7 giorni.

    La data inizio è sempre Date()
    La data fine è sempre inserita a mano

    Come faccio ad inserire in automatico in un db mysql con una query INSERT INTO i giorni compresi tra il 15 ed 21/02/2008, cioè 16-17-18-19-20/02/2008 ?

    Grazie-

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    1) Con la DATEDIFF calcoli il periodo (nel tuo caso i 7 giorni):
    http://www.w3schools.com/vbscript/func_datediff.asp
    2) Con la DATEADD http://www.w3schools.com/vbscript/func_dateadd.asp all'interno di un ciclo FOR / NEXT aggiungi alla data un giorno alla volta ed inserisci nel db

    Oppure fai un'unica operazione aggiungendo un giorno alla volta ed esci dal LOOP quando la data raggiunta corrisponde a quella di fine peridodo.

    Roby

  3. #3
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Scusa ma forse non ho capito:

    codice:
    strDataFinale = request.form("DataFinale")
    
    strDataDifferenza = DateDiff("d", Date(), strDataFinale)
    response.write strDataDifferenza &"
    
    "
    
    ' nel ciclo for next:
    
    strDataPeriodo = DateAdd("d", 1, Date())
    
      sql = "INSERT INTO ...... "
      sql = sql & "  " & formatDBDate(strDataPeriodo, "mysql") & ", "



  4. #4
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Dove sbaglio?

    codice:
      strDataDifferenza = DateDiff("d", Date(), strDataFinale)
      for i = 0 to strDataDifferenza
    	strDataPeriodo = DateAdd("d",1,strDataPeriodo)
        sql = sql & "  " & formatDBDate(strDataPeriodo, "mysql") & ", "
      next

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da wegawhite
    Dove sbaglio?

    codice:
      strDataDifferenza = DateDiff("d", Date(), strDataFinale)
      for i = 0 to strDataDifferenza
    	strDataPeriodo = DateAdd("d",1,strDataPeriodo)
        sql = sql & "  " & formatDBDate(strDataPeriodo, "mysql") & ", "
      next
    Presumo nel resto della INSERT... non puoi farne una unica, devi fare (ed eseguire) un comando SQL per ogni data da introdurre.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Te l'ho scritto, ad ogni ciclo devi inserire un record nella tabella.

    Roby

  7. #7
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Risolto, grazie 1000.

  8. #8
    e per inserire un' intervallo, ovvero data di inizio 10/10/2010, l' inserimento deve essere ripetuto 5 volte (quindi per 5 giorni) con un'intervallo tra un giorno e l'alto di 3 giorni...
    esempio
    si inizia il 10/10/2010 e le altre date sono il 13/10, 16/10, 19/10 e 21/10

    ho provato così ma inserisce l'intervallo inizialmente, quindi invece che partire dal 10/10 parte dal 13/10 e poi aggiunge i record per i 5 giorni successivi senza alcun intervallo....

    codice:
    ngiorni = request.form("ngiorni")
    intervallo = request.form("intervallo")
    FOR contatore = 1 TO ngiorni
    
    datautile2 = DateAdd("d",(contatore+intervallo)-1,""&request.form("cmp23")&"")....
    Scambio link

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    (contatore+intervallo)-1

    Cioe' se intervallo=3 al primo ciclo aggiungi 3, al secondo 4, al terzo 5, ...

    Forse ci va qualche moltiplicazione...

    (contatore*intervallo)-3

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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 © 2026 vBulletin Solutions, Inc. All rights reserved.