Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Suggerimento per calendario

    Ciao a tutti,
    all'interno del mio sito avrei bisogno di creare un calendario (tipo quello di google) per gestire dli appuntamenti dei singoli clienti.
    Volevo chiedervi se potete darmi qualche suggerimento su come potrei impostare nel database la tabella che gestisce ciò.

    Vi spiego cosa stavo pensando di fare, potrei sicuramente fare una tabella dove ho n record per ogni giorno e se quel giorno è pieno dentro vado a gestire tipo cin una stringa splittata gli appuntamenti per le vari ore

    tipo dentro al record 1-10-2013

    9-10|incontro ufficio|11-13|Riunione|13-14|pranzo

    ma così facendo avrei 356 record per ogni utente che gestisco
    se un giorno nel mio sito gestisco 10000 clienti solo per un anno avrò 3.650.000 di record
    moltiplicato poi per un tot di anni diventa credo un bel pò pesante

    Questa soluzione mi è sembrata ad occhio per ora la più adatta, anche se poi non saprei come gestire le ricerche all'interno di un singolo giorno

    Avete qualche soluzione e/o consiglio da indicarmi?
    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Io non lo farei cosi come lo proponi
    Mi ricorda Excel, comunque avresti immancabilmente una massa di record vuoti


    Immagina una tabella piu semplice
    - Nome ( oppure Id ) della persona
    - Data e Ora di inizio
    - Data e Ora di fine
    - Impegno

    Aggiungi solo i record che ti occorrono
    --- ( 0 record al giorno oppure più record al giorno )

    Non hai il problema della stringa per ogni giorno
    --- ( sarebbe difficilmente gestibile )

    Poi con dei report ben fatti puoi arrivare al risultato grafico che vuoi
    Immagino una agenda con TUTTI i giorni ( anche quelli senza impegni )
    e le varie ore per ogni pagina

    .

  3. #3
    aggiungi una tabella di riferimento con una sola colonna DateTime dove inserirai il calendario "nudo" (solo la data, un record per ogni giorno)

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Originariamente inviato da optime
    aggiungi una tabella di riferimento con una sola colonna DateTime dove inserirai il calendario "nudo" (solo la data, un record per ogni giorno)
    Concordo

  5. #5
    Originariamente inviato da nman
    Io non lo farei cosi come lo proponi
    Mi ricorda Excel, comunque avresti immancabilmente una massa di record vuoti


    Immagina una tabella piu semplice
    - Nome ( oppure Id ) della persona
    - Data e Ora di inizio
    - Data e Ora di fine
    - Impegno

    Aggiungi solo i record che ti occorrono
    --- ( 0 record al giorno oppure più record al giorno )

    Non hai il problema della stringa per ogni giorno
    --- ( sarebbe difficilmente gestibile )

    Poi con dei report ben fatti puoi arrivare al risultato grafico che vuoi
    Immagino una agenda con TUTTI i giorni ( anche quelli senza impegni )
    e le varie ore per ogni pagina

    .

    Grazie per le risposte
    anche se non mi è chiaro il suggerimento di optime

  6. #6
    Originariamente inviato da ciucciatiilcalzino
    Grazie per le risposte
    anche se non mi è chiaro il suggerimento di optime
    *cosa* non è chiaro?

  7. #7
    non ho capito cosa volevi dire con

    aggiungi una tabella di riferimento con una sola colonna DateTime dove inserirai il calendario "nudo" (solo la data, un record per ogni giorno)
    In particolare il calendario nudo
    Allora da quello che mi dice nman
    realizzo una tabella semplice
    id
    data inizio
    data fine
    id_utente
    descrizione

    e questo potrebbe andare bene
    i campi che mi servono sono proprio questi, io li volevo mettere concatenati
    ma seguo il vostro consiglio
    alla fine potrebbe essere meno grande di quello che penso il db
    almeno che non ho 100000 utenti che hanno 8 impegni tutti i giorni dell'anno
    allora li è un problema

    non ho capito l'altra tabella a cosa mi potrebbe servire e come crearla poi

    grazie per i consigli

  8. #8
    se tu volessi elencare tutti i giorni di un periodo *compresi* quelli in cui non hai impegni, hai assolutamente bisogno di una tabella con *tutti* i giorni da mette in LEFT JOIN con quella degli impegni.

    una tabella dove esiste un solo campo (anche indicizzato) che è la data progressiva

    01/01/2010
    02/01/2010
    03/01/2010

    ecc

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.