Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    115

    [PHP /MySql] verifica data da un campo timestamp

    Salve a tutti,

    ho in un campo Mysql una data creata con mktime dove ho messo :

    ora, minuti, secondi, mese, giorno, anno

    Adesso dovrei ricercare una determinata data tralasciando l'ora.

    Esiste una funzione dedicata ?

    Ciao e grazie

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    115
    Ho provato in questo modo:
    SELECT
    campo, FROM_UNIXTIME(campo,'%Y-%m-%d %H:%i:%s') as campo
    FROM
    nometabella
    WHERE
    campo='2008-03-22'
    Mi trova i risultati dove l'ora è 00:00:00

    se invece nel campo del db l'ora 00:00:01

    non trova niente.

    Ho provato ha fare cosi:
    SELECT
    campo, FROM_UNIXTIME(campo,'%Y-%m-%d') as campo
    FROM
    nometabella
    WHERE
    campo='2008-03-22'
    ma il risultato è uguale, se nel timestamp del db c'è impostata l'ora non lo trova.

    Mi chiede se è fattibile confrontare solo una parte di timestamp oppure primo devo estrarli tutti e poi controllare ?

    ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    SELECT * FROM
    nometabella
    WHERE
    FROM_UNIXTIME(campo,'%Y-%m-%d') = '2008-03-22'

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    115
    non cambia nulla, lo trova solo se nel record l'ora è 00:00:00

    se invece è 00:00:01

    non lo trova.

    Ho solo bisogno di fargli confrontare la sola data.

    Come accade nei campi FULLTEX che se cerchi la parola casa dentro la frase "che bella casa".


    ciao e grazie

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Mi sembra impossibile che non funzioni.

    Puoi postare un paio di questi unixtimestamp che hai memorizzato?

  7. #7
    Se il campo è di tipo TIMESTAMP:

    SELECT * FROM
    nometabella
    WHERE
    DATE(campo) = '2008-03-22'

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da filippo.toso
    Se il campo è di tipo TIMESTAMP:
    Il problema è che lui dice di aver usato mktime per popolare la tabella. Quindi la data dovrebbe essere di tipo unix timestamp.

  9. #9
    Sarebbe utile sapere quale tipo di campo sta utilizzando, oltre all'esatto modo in cui lo ha valorizzato e, in caso, il motivo che gli ha fatto scegliere di non utilizzare i campi DATA/TIMESTAMP/etc di MySQL.

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    115
    Per una sensazione mia riguardante lo spazio, volevo inserire una data e un orario (appuntamento) in un solo campo mktime($ora,$minuti,00,$MeseA,$GiornoA,$YearA)

    quindi inserisco un dato del genere 1204758000.

    Il campo del db deve essere timestamp oppure deve avere altre caratteristiche ?

    ciao e grazie

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.