• User

    Discriminare in mysql

    Saluti!
    Vi spiego il mio dilemma:

    ho un database chiamato "anagrafica" e una tabella chiamata "lavoratori".
    In lavoratori, ci sono diversi campi che descrivono l'anagrafica di ciascun lavoratore (nome, cognome, telefono, data assunzione, data licenziamento, etc.).
    L'elenco dei lavoratori è visualizzato in php mediante un banalissimo fetch dei risultati.
    Ora.... se io volessi licenziare un lavoratore, pur mantenendolo (quindi NON eliminandolo dal db), ma facendolo visualizzare oscurato, come potrei fare?
    Mi spiego meglio.
    Quando un lavoratore viene licenziato, nella pagina di visualizzazione dei risultati esso deve essere visualizzato sottolineato.
    La questione è: come faccio a discriminare il fatto che un lavoratore sia licenziato oppure no?
    Sono costretto a creare 2 tabelle del tipo (lavoratori_assunti) e (lavoratori_licenziati), poi faccio 2 query e proseguo in questo modo?
    O c'è un modo (... magari aggiungendo un campo 'flag' che stabilisca che il lavoratore è stato licenziato -ma anche in questo caso, come farei a "mischiare" i lavoratori licenziati con quelli non licenziati?-) condizionale (if) che in fase di fetch mi verifichi che un lavoratore è licenziato (e quindi visualizato sottolineato)?
    ❌x:x
    Grazie!


  • User Attivo

    Beh in base comunque alle tue esigenze, in entrambi i casi riesci a fare le due cose.
    Ad ogni modo se non hai particolari esigenze ti consiglio di aggiungere un campo "ASSUNTO" True/false da specificare o omettere nelle select 🙂

    Se percorri la strada delle due tabelle puoi usare UNION ed evitare 2 select 🙂


  • User

    Grazie per la pronta risposta!

    L'aggiunta del campo "Assunto" credo sia la via migliore, anche perché avere un'altra tabella appesantirebbe parecchio... il db è già in 4a NF... 😄
    Ad ogni modo... come si implementa il controllo booleano True or False?
    Puoi farmi un esempio?
    E ancora, in fase di fetch, come farei a visualizzare i risultati in sottolineato se 'assunto' è falso?

    Grazie!


  • Bannato User Attivo

    il nuovo campo lo fai in int(4) con vaore predefinito numerico:
    1 se vuoi che i lavoratori sia assunti al momento della registrazione al database e
    0 se invece il lavoratore dve entrare come non assunto
    1 == TRUE 0 == FALSE
    poi con un pannello di controllo in php modifichi questa tabella..