Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304

    cancella record in base a data

    Ciao a tutti, dopo aver letto vari 3d sull'argomento continuo a dover risolvere il mio problema: devo eliminare gli annunci che hanno più di un mese. Penso sia dovuto al tipo di campo - testo - con cui gestisco le date su db access.

    La data viene inserita così:

    Codice PHP:
    data date() 
    Mentre, per cancellare i record, ho inserito uno script all'inizio della pagina annunci:

    Codice PHP:
    dim temposqlCancellaAnnunci
    tempo 
    DateAdd("d",-30,Date())
    sqlCancellaAnnunci "Delete * from Privati where data < #"tempo"#"
    conn.execute(sqlCancellaAnnunci
    Niente, non funge..cosa sbaglio?

  2. #2
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    innanzi tutto la concatenazione

    sqlCancellaAnnunci = "Delete * from Privati where data < #"& tempo & "#"
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  3. #3
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    fatto, ma non funge..

  4. #4
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    io di solito per ovviare a problemi del genere memorizzo le date in campi di tipo intero nel formato AAAAMMGG, in questo modo diventa facilissimo gestire gli intervalli cn qualsiasi dbms... era solo un input.. ma non so se può fare al caso tuo visto che ormai la struttura del DB è ormai così...


  5. #5
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    appunto..diciamo che sono ancora in tempo a cambiarla, il campo comunque è sempre di tipo testo, ma in questo caso dovrei anche cambiare il modo in cui viene inserita, no? a quel punto mi basterebbe cambiare

    Codice PHP:
    data date() 
    con qualcosa di diverso. Magari comporla con left, right ecc.. era questo che intendevi?

  6. #6
    Utente di HTML.it L'avatar di salvod
    Registrato dal
    Feb 2002
    Messaggi
    314
    codice:
    gg = Day()
    mm = Month()
    aaaa = Year()
    
    if(Len(gg) = 1) then
       gg = "0" & gg
    end if
    
    if(Len(mm) = 1) then
       mm = "0" & mm
    end if
    
    data = aaaa & mm & gg
    modifica il campo e mettilo di tipo intero


  7. #7
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    grandeee!!!
    ci provo e ti faccio sapere!

  8. #8
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Ciao!
    Ho provato a fare come mi consigliavi tu..
    Sono incappato in alcuni errori, che ti riporto di seguito...

    Dopo aver messo lo script da te suggerito, mi riporta il seguente errore:
    codice:
    Wrong number of arguments or invalid property assignment: 'Day'
    Così anche per mese ed anno. Ho provato a modificare lo script così:
    Codice PHP:
    Day(Date()) 
    ma mi da un errore di Overflow nella query che uso per inserire i dati nel db.

    Con la query inserisco i dati dell'annuncio, tra i quali la data in questione..

  9. #9
    scusa ma nel database il campo è un CAMPO TESTO o un CAMPO DATA?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  10. #10
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    prima era testo, poi l'ho modificato come intero come suggerito gentilmente da salvod...

    il fatto è che con la gestione delle date mi incasino sempre..


    ma si sarà intuito

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.