Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: aiuto query

  1. #1

    aiuto query

    salve a tutti
    qualcuno sa indicarmi la soluzione a questo problema?
    Ho una tabella articoli dove inserisco gli eventi con 2 campi DATE in formato DATE (ES. 2006-09-17)
    Il 1° campo rappresenta la data di inizio evento, il 2° la data di fine evento.

    Il mio problema è questo:
    devo fare uno script AUTOMATICO che mi trovi la settimana corrente e mi visualizzi gli eventi
    Esempio:

    Eventi settimana dal 13 al 19 novembre 2006: <-------- script che trova la settimana corrente in automatico

    13/11/2006
    TITOLO EVENTO

    ECC...

    Poi dovrei fare un link alla settimana successiva per vedere gli eventi della prox settimana.
    Si può fare??

    grazie dell'aiuto!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select * from tabella 
    where week(curdate(),1) between week(prima_data,1) and week(seconda_data,1)
    per la settimana seguente

    codice:
    select * from tabella where week(curdate() + interval 1 week,1) 
    between week(prima_data,1) and week(seconda_data,1)

  3. #3
    ciao Nicola
    grazie dell'aiuto!
    La prima query funziona correttamente mentre la seconda mi da' errore.
    Ho provato (per prova) a togliere "+ interval 1 week" e funziona. quindi il problema è lì, forse è sbagliata la sintassi.. bhò!

    altra cosa:
    Come faccio a scrivere in AUTOMATICO i giorni della settimana come titolo?
    Esempio: EVENTI DAL 20 AL 27 NOVEMBRE 2006
    poi per la settimana successiva:
    EVENTI DAL 27 NOVEMBRE AL 3 OTTOBRE 2006

    grazie ancora
    Luca

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    prova con + interval 7 day

  5. #5
    funzia!!!!!!!!
    si si funziona così, ottimo!
    Per il titolo che ti scrivevo prima è un casino farlo?

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Così due piedi non ti so rispondere.
    Mi spiace.

  7. #7
    va bene dai, grazie lo stesso!
    troppo gentile.

    ciaoo

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Omaggio della casa.
    Codice PHP:
    <?php
    function eventi() {
    // Restituisce inizio (LUN) e fine (DOM) della settimana corrente e di quella successiva
    $mesi = array(1=>'Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
                  
    'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');

    $oggi date('Y-n-d');
    list(
    $anno,$mese,$giorno) = explode("-",$oggi);
    $timestamp mktime(0,0,0,$mese,$giorno,$anno);
    $numero_lunedi $giorno date('w') + 1;
    $questo_lunedi $anno.'-'.$mese.'-'.$numero_lunedi;
    $questa_domenica date('Y-n-d',strtotime("$questo_lunedi + 6 day"));
    $prossimo_lunedi date('Y-n-d',strtotime("$questo_lunedi + 1 week"));
    $prossima_domenica date('Y-n-d',strtotime("$questa_domenica + 1 week"));
    list(
    $anno_ql,$mese_ql,$giorno_ql) = explode('-',$questo_lunedi);
    list(
    $anno_pl,$mese_pl,$giorno_pl) = explode('-',$prossimo_lunedi);
    list(
    $anno_qd,$mese_qd,$giorno_qd) = explode('-',$questa_domenica);
    list(
    $anno_pd,$mese_pd,$giorno_pd) = explode('-',$prossima_domenica);

    $questa_settimana = ($mese_ql == $mese_qd) ? "Eventi dal $giorno_ql al $giorno_qd $mesi[$mese_ql] $anno"
                                               
    "Eventi dal $giorno_ql $mesi[$mese_ql] al $giorno_qd 
                                                     
    $mesi[$mese_qd] $anno";

    $prossima_settimana = ($mese_pl == $mese_pd) ? "Eventi dal $giorno_pl al $giorno_pd $mesi[$mese_pl] $anno"
                                               
    "Eventi dal $giorno_pl $mesi[$mese_pl] al $giorno_pd 
                                                     
    $mesi[$mese_pd] $anno";

    return array(
    $questa_settimana,$prossima_settimana);
    }

    list(
    $questa,$prossima) = eventi();
    echo 
    $questa// es Eventi dal 20 al 26 Novembre 2006
    echo '
    '
    ;
    echo 
    $prossima// Eventi dal 27 Novembre al 03 Dicembre 2006
    ?>
    edit. E' um omaggio avariato. Devo ricontrollarla.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non c'era nessun bug (almeno non mi sembra ).
    Avevo solo concatenato l'anno sbagliato in fase di stampa.

    Codice PHP:
    <?php
    function eventi() {
    // Restituisce inizio (LUN) e fine (DOM) della settimana corrente e di quella successiva
    $mesi = array(1=>'Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
                  
    'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');

    $oggi date('Y-n-d');
    list(
    $anno,$mese,$giorno) = explode("-",$oggi);
    $numero_lunedi $giorno date('w') + 1;
    $questo_lunedi $anno.'-'.$mese.'-'.$numero_lunedi;
    $questa_domenica date('Y-n-d',strtotime("$questo_lunedi + 6 days"));
    $prossimo_lunedi date('Y-n-d',strtotime("$questo_lunedi + 1 week"));
    $prossima_domenica date('Y-n-d',strtotime("$questa_domenica + 1 week"));
    list(
    $anno_ql,$mese_ql,$giorno_ql) = explode('-',$questo_lunedi);
    list(
    $anno_pl,$mese_pl,$giorno_pl) = explode('-',$prossimo_lunedi);
    list(
    $anno_qd,$mese_qd,$giorno_qd) = explode('-',$questa_domenica);
    list(
    $anno_pd,$mese_pd,$giorno_pd) = explode('-',$prossima_domenica);

    $questa_settimana = ($mese_ql == $mese_qd) ? "Eventi dal $giorno_ql al $giorno_qd $mesi[$mese_ql] $anno_qd"
                                               
    "Eventi dal $giorno_ql $mesi[$mese_ql] al $giorno_qd 
                                                     
    $mesi[$mese_qd] $anno_qd";

    $prossima_settimana = ($mese_pl == $mese_pd) ? "Eventi dal $giorno_pl al $giorno_pd $mesi[$mese_pl] $anno_pd"
                                               
    "Eventi dal $giorno_pl $mesi[$mese_pl] al $giorno_pd 
                                                     
    $mesi[$mese_pd] $anno_pd";

    return array(
    $questa_settimana,$prossima_settimana);
    }

    list(
    $questa,$prossima) = eventi();
    echo 
    $questa// es Eventi dal 25 al 31 Dicembre 2006
    echo '
    '
    ;
    echo 
    $prossima// Eventi dal 01 al 07 Gennaio 2007
    ?>

  10. #10
    Ma sei un grande cavolo!!!!!!!!!
    grazie 10000 mi hai risolto un grandissimo problema!

    G R A N D E ! ! ! ! ! !

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.