Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [sql]

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    37

    [sql]

    Salve a tutti! Sto lavorando su un progettino mio per la gestione dell'inserimento e la gestione delle news in un sito.
    Ho bisogno di visualizzare le news inserite in un determinato mese scelto dall'utente tramite due menù a tendina, uno per l'anno e uno per il mese. Fin qui tutto bene, ma non riesco proprio a creare una query funzionante per recuperare tutte le news inserite nel mese stabilito... Ho provato confrontando mese e anno separatamente, con l'uso del between, confrontando la data del DB portata nel formato YYYY/MM con l'operatore LIKE, ma non riesco a tirare fuori nessun risultato...

    Grazie mille!

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Solitamente conviene usare un campo di tipo timestamp o int per le date cosi da poter fare facilmente un ordine o calcolo con numeri interi e non con stringhe o simili.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    37
    Originariamente inviato da m4rko80
    Solitamente conviene usare un campo di tipo timestamp o int per le date cosi da poter fare facilmente un ordine o calcolo con numeri interi e non con stringhe o simili.
    Ma quindi come dovrei fare? Essendo che l'utente può specificare al massimo il mese, poi devo crearmi il timestamp del primo e dell'ultimo giorno del mese e usare between per cercare la data nel DB?

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Avevo capito che dovevi ancora creare il tutto(la tabella). Non ricordo con esattezza ma in sql c'e' il modo per convertire daa stringa a timestamp la data nel campo.
    Io intendevo che se devi ancora realizzare la tabella o se puoi modificare, ti conviene usare un intero per fare poi la query più facilemente.

    Se l'utente passa dalla form di inserimento anno e mese ti calcoli il timestamp con quei dati con mktime(0,0,0,mese,giorno,anno) e lo inserisci.
    Cosiì puoi' fare comodamente i confronti senza modificare nulla e poi nella visualizzazione formatti con date() come preferisci ( date('d-m-Y', $campoData) per esempio ).

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    37
    Originariamente inviato da m4rko80
    Avevo capito che dovevi ancora creare il tutto(la tabella). Non ricordo con esattezza ma in sql c'e' il modo per convertire daa stringa a timestamp la data nel campo.
    Io intendevo che se devi ancora realizzare la tabella o se puoi modificare, ti conviene usare un intero per fare poi la query più facilemente.

    Se l'utente passa dalla form di inserimento anno e mese ti calcoli il timestamp con quei dati con mktime(0,0,0,mese,giorno,anno) e lo inserisci.
    Cosiì puoi' fare comodamente i confronti senza modificare nulla e poi nella visualizzazione formatti con date() come preferisci ( date('d-m-Y', $campoData) per esempio ).
    Si si nella conversione tra i vari formati non ho problemi, e anche avendo la data in formato datetime posso sempre usare UNIX_TIMESTAMP() per modificare il foramto quando devo fare i confronti. Il mio problema sta proprio nella query. Tu come faresti se avessi i valori di anno e mese e dovresti tirare fuori dal DB le news di quel specifico mese?

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    37
    Credevo di aver risolto passando i valori a timestamp, ma in realtà adesso ho il problema opposto... mi prende tutti i risultati indistintamente.... mentre prima non ne prendeva neanche uno!

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.