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

    Risoluzione Problema

    Ciao a tutti , ho difronte un piccolo algoritmo che ho pensato di risolvere in un modo al quanto strano (visto che ho bisogno di creare ben 31 campi in una tabella).

    Immaginate un calendario, compost da 31 giorni. Se vado a scrivere sul Database giorno 2, 3, 4, 5 nella tabella che indica il calendario, i tasselli che indicanti i giorni appena citati andranno a colorarsi. Allora ho pensato di risolverla in questa maniera.

    Il calendario l'ho fatto con un semplice style css. Ogni giorno è situato all'interno di un tr che ha un id, per esempio tr id=”1” , tr id=”2” etc...nel database sono presenti 31 campi, che indicano appunto ogni campo un giorno. Sono dei boolean quindi impostati a false. Se vado a scrivere sul database giorno 2, giorno 3 e così via, nella jsp dove c'è il calendario ci sarà un piccolo controllo dicendo:

    tr id = 1 == 1 e l'ho imposto a true colorando la cella, e così via...

    Ovviamente questo metodo l'ho sperimentato e funge correttamente, mi chiedevo se avevate in mente qualche altra soluzione per evitare la costruzione di 31 campi sul database.

  2. #2
    Ti basterebbe un unico campo nella tabella dove elenchi i giorni che ti interessano. Nella jsp recuperi questo campo, fai il parsing della stringa ottenendo i singoli giorni e poi costruisci la tua tabella dinamicamente:

    Codice PHP:
    CAMPO_DELLA_TABELLA --->  GIORNI2,3,4,5

    String giorni 
    recuperaCampoDalDB(...);
    String[] singoliGiorni giorni.split(",");

    //uso un vector per evitare un ciclo di controllo per ogni giorno del mese
    Vector<StringvettoreGiorni = new Vector<String>();

    for(
    int i=0i<singoliGiorni.lengthi++){
         
    vettoreGiorni.add(singoliGiorni[i];
    }

    for(
    int i=1i<=31i++){
         if(
    vettoreGiorni.contains(String.valueOf(i)){
              
    //crea cella colorata
         
    }else{
              
    //crea cella non colorata
         
    }

    Al mio segnale... scatenate l'inferno!

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.