Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    Originariamente inviato da stefano3804
    sto provando a fare come hai detto tu :
    codice:
    SELECT * 
    FROM evento
    WHERE data_fine
    BETWEEN CURDATE( ) 
    AND '2005-06-29'
    LIMIT 0 , 30
    Ho messo come data di scadenza il 30 giugno 2005

    Ma se io cerco una data del 1 agosto lui mi trova un valore (cioè quello che ho inserito) se metto come in questo caso 29 giugno lui non mi trova nulla

    Non capisco il procedimento
    Non ho capito....

    se cerchi una data tra oggi e il 29 ... il 30 e superiori vengono scartati. Mi fai venire il dubbio sul formato della data che hai nel db.... non e' che hai dd-mm-yyyy invece di yyyy-mm-dd ???

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  2. #12
    Originariamente inviato da piero.mac
    Il range da visualizzare lo decidi tu in base a quello che ti serve.

    Per esempio l'elenco dei ristoranti chiusi per ferie il giorno 4 agosto? tu nel db hai data_inizio e data_fine ferie?
    codice:
    $giorno = 2005-08-04';
    
    ....
    WHERE $giorno BETWEEN data_inizio AND data_fine
    Sono solo esempi... non esiste la regola buona per qualsiasi cosa. Data una esigenza, si struttura il tipo di dato necessario in modo da ottimizzare l'utilizzo gia' a livello di progetto.
    Io ho creato questa tabella :
    CREATE TABLE `evento` (
    `id_evento` int(8) NOT NULL auto_increment,
    `id_risto` int(8) NOT NULL default '0',
    `testo` text NOT NULL,
    `categoria` char(32) NOT NULL,
    `data_inizio` date default '0000-00-00',
    `data_fine` date default '0000-00-00',
    PRIMARY KEY (`id_evento`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

    Dove id_risto sara' l'id del ristorante
    Testo l'eventuale messaggio che il ristoratore vorra' comunicare
    Categoria = Ferie | Eventi | Promozioni
    data_inizio
    data_fine

    L'utente potra poi inserire le sue scelte e le date

    Poi nella pagina che visualizza la scheda di ogni singolo ristorante ci sara' un include che se ci sono eventi attivi (come data)per quel locale (id_risto) ti stampa il valore della casella testo categoria e poi dal data_inizio a data_fine

    Adesso tu mi consigli di usare la query per tirar fuori i valori ancora validi come tempo ??

  3. #13
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    se l'utente sceglie una data arbitraria per controllare se c'è qualche evento (Ferie | Eventi | Promozioni) per quel ristorante la query postata prima da piero:
    codice:
    $giorno = 2005-08-04';
    
    ....
    WHERE $giorno BETWEEN data_inizio AND data_fine
    mi sembra rispondere al tuo problema...ovvero se il $giorno scelto dall'utente è compreso nel range specificato (data_inizio e la data_fine) allora per quel giorno qualcosa accade nel ristorante (Ferie | Eventi | Promozioni), ed il record viene estratto con tutte le altre info che poi andrai a stampare...


    think simple think ringo

  4. #14
    SELECT *
    FROM evento
    WHERE CURDATE( )
    BETWEEN data_inizio
    AND data_fine
    LIMIT 0 , 30

    Con questo vado alla grande vero ??

  5. #15
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da stefano3804
    SELECT *
    FROM evento
    WHERE CURDATE( )
    BETWEEN data_inizio
    AND data_fine
    LIMIT 0 , 30

    Con questo vado alla grande vero ??
    con quella selezioni tutti i record nei quali la data odierna (fornita da CURDATE()) è compresa fra la data_inizio e la data_fine memorizzate nel db...in questo caso l'intervento dell'utente è nullo.


    think simple think ringo

  6. #16
    Originariamente inviato da marketto
    se l'utente sceglie una data arbitraria per controllare se c'è qualche evento (Ferie | Eventi | Promozioni) per quel ristorante la query postata prima da piero:
    codice:
    $giorno = 2005-08-04';
    
    ....
    WHERE $giorno BETWEEN data_inizio AND data_fine
    mi sembra rispondere al tuo problema...ovvero se il $giorno scelto dall'utente è compreso nel range specificato (data_inizio e la data_fine) allora per quel giorno qualcosa accade nel ristorante (Ferie | Eventi | Promozioni), ed il record viene estratto con tutte le altre info che poi andrai a stampare...


    Si si ho capito il meccanismo delle date nelle query (almeno ho capito per questa mi esigenza !! )

    Adesso vedo di metterla giu tutta e vi faccio sapere ....

    Qui se non faccio qualcosa al lavoro stamattina mi impalano

  7. #17
    Originariamente inviato da marketto
    con quella selezioni tutti i record nei quali la data odierna (fornita da CURDATE()) è compresa fra la data_inizio e la data_fine memorizzate nel db...in questo caso l'intervento dell'utente è nullo.


    Si si è nullo perchè la query mi serve nella pagina dove è presente la scheda di ogni singolo ristorante

    Per l'inserimento nel db ho usato qello che mi ha consigliato piero

    $data = '11/06/2005';

    list($giorno,$mese,$anno) = explode('/',$data);
    $data_db = "$anno-$mese-$giorno";

    e ho cambiato le tabelle da timestamp in date

  8. #18
    Se fai una lista di ristoranti metterai il periodo di chiusura tutti i dati tra cui il periodo di chiusura.

    Non capisco bene cosa intendi dire qui:
    Adesso tu mi consigli di usare la query per tirar fuori i valori ancora validi come tempo ??
    Si deve utilizzare la query per gestire i dati da estrarre, sarebbe poco corretto selezionare ulteriormente un result-set tramite switch o if inutilmente se e' possibile scegliere su db.

    Devi partire dalla richiesta. Qual'e' la domanda? Rispondi alla domanda specifica. Quali sono i ristoranti aperti? quali sono chiusi? quali sono chiusi per ferie (dal al)? Quale la lista completa dei ristoranti di... ecc. Questa selezione deve avvenire sulla tabella.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #19
    Originariamente inviato da piero.mac


    Devi partire dalla richiesta. Qual'e' la domanda? Rispondi alla domanda specifica. Quali sono i ristoranti aperti? quali sono chiusi? quali sono chiusi per ferie (dal al)? Quale la lista completa dei ristoranti di... ecc. Questa selezione deve avvenire sulla tabella.
    Si questa sara' poi anche un'altra query che gli farò fare ma per ora quello che mi serve e nella pagina dove ci sara' tutta la scheda del locale (indirizzo tel nome etc etc) è fargli stampare il periodo di chiusura e con la query che mi hai consigliato tu direi che funziona

  10. #20
    Adesso tu mi consigli di usare la query per tirar fuori i valori ancora validi come tempo ??

    Mi sono espresso male ma quando penso a volte dico e faccio altro (la mia ragazza mi chiama Pindaro perchè dice che ho la testa nelle nuvole)

    Era per capire se dovevo usare la query o usare il php

    Ma ho capito che mi conviene usare la query

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.