Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Problema agenda con nuovo anno

    Buongiorno , ho un problema con una query , ho creato in php un agenda in cui l'amministratore può inserire appuntamenti .
    La tabella della mia agenda è strutturata così :
    codice:
      `data` date NOT NULL,
      `numero_settimana` int(11) NOT NULL,
      `giorno_settimanale` varchar(15) NOT NULL,
      `orari_apertura_id` int(11) NOT NULL,
      `stato_agenda_id` int(10) unsigned NOT NULL COMMENT '= aperto chiuso o prenotato',
      `clienti_id` int(10) unsigned DEFAULT NULL,
      `note` varchar(100) DEFAULT NULL,
    Giorno settimanale corrisponde al giorno (Domenica, Lunedi, Marte) .

    La popolazione del db funziona correttamente.

    Nella mia query pesco i giorni della settimana in questo modo :

    codice:
    select * from `agenda` where numero_settimana = 32  AND giorno_settimanale='Domenica' AND YEAR(data) = YEAR('2019-08-07')
    Tutto funziona correttamente tranne quando ho l'ultima settimana dell'anno perchè questa query preleva si l'ultima settimana dell'anno ma invece che prelevare poi la successiva (settimana 1 dell'anno nuovo) restituisce alcuni giorni della prima settimana di questo anno (settimana 1 dell'anno attuale).

    Come posso ovviare a questo problema ? posso fare una query in cui se la settimana è la 52 ( o la 53 nel caso di anni con 53 ssettimane ) che prelevi poi la 1 dell'anno successivo ?

  2. #2
    non ho capito come quella query possa caricare la settimana "successiva" -- manca un pezzo nella tua spiegazione

  3. #3
    Quote Originariamente inviata da optime Visualizza il messaggio
    non ho capito come quella query possa caricare la settimana "successiva" -- manca un pezzo nella tua spiegazione
    No il mio intento è visualizzare la settimana attuale ( eseguo una query per ogni giorno da domenica a sabato ), come da allegato https://ibb.co/jV45d54, per il quale funziona sempre tranne che per l'ultima settimana dell'anno
    Ultima modifica di pippuccio76; 08-08-2019 a 12:38

  4. #4
    beh, finora hai parlato del problema con la "successiva"... comunque, fa niente

    torniamo alla query: perché nella query c'è solo "domenica"?

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    beh, finora hai parlato del problema con la "successiva"... comunque, fa niente

    torniamo alla query: perché nella query c'è solo "domenica"?
    Se leggi la domanda iniziale dico che passo i giorni della settimana , inizio con domenica e arrivo a sabato.

    Poi salvo tutto in Array e poi li visualizzo correttamente come da immagine.

    Il problema è l ultima settimana dell' anno nella quale ci vorrebbe una query modificata

  6. #6
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,300
    Quote Originariamente inviata da pippuccio76 Visualizza il messaggio
    codice:
      `data` date NOT NULL,
      `numero_settimana` int(11) NOT NULL,
      `giorno_settimanale` varchar(15) NOT NULL,
    Non sto ad entrare nel merito della domanda specifica ........
    Ma quei 3 campi (data numero_settimana e giorno_settimana) sono rindondanti fra di oro e ti possono generare solamente del casino in abbondanza ......

    Consiglio di usare solo la data e poi con delle viste ti calcoli gli altri 2

    .

  7. #7
    Quote Originariamente inviata da pippuccio76 Visualizza il messaggio
    Se leggi la domanda iniziale dico che passo i giorni della settimana , inizio con domenica e arrivo a sabato.

    Poi salvo tutto in Array e poi li visualizzo correttamente come da immagine.

    Il problema è l ultima settimana dell' anno nella quale ci vorrebbe una query modificata
    perché, tu l'ultima settimana dell'anno la fai finire al 31/12 anche se è venerdì? e leggi un giorno alla volta?

  8. #8
    come anche suggerito da nman, potresti molto facilmente risolvere il problema leggendo 7 giorni consecutivi a partire dalla domenica. Così facendo alleggerisci anche il server perché fai una sola interrogazione invece di sette. Nella SELECT puoi facilmente ricavare il giorno della settimana.

    La query reale potrebbe cambiare in base al db che usi (è per questo che il regolamento dice di indicarlo )

  9. #9
    Quote Originariamente inviata da optime Visualizza il messaggio
    come anche suggerito da nman, potresti molto facilmente risolvere il problema leggendo 7 giorni consecutivi a partire dalla domenica. Così facendo alleggerisci anche il server perché fai una sola interrogazione invece di sette. Nella SELECT puoi facilmente ricavare il giorno della settimana.

    La query reale potrebbe cambiare in base al db che usi (è per questo che il regolamento dice di indicarlo )
    Il db è mysql e il sito è utilizzato da circa un anno e mezzo senza problemi , l unico lo abbiamo avuto a fine dell'anno scorso quindi volevo risolvere prima della fine dell'anno

  10. #10

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 © 2019 vBulletin Solutions, Inc. All rights reserved.