-
Organigramme php /html
Bonsoir à tous,
je dispose de ma bdd mysql avec la liste des salariés et leur photo et je voudrais créée un organigramme (avec photo).
Ou je bloque c'est au niveau conception et visuelle.
Au niveau conception il faudra que je créer un champs Niveau hiérarchique ( pour jouer sur président ==> directeur Generale==>Chef ==> employé). c'est bien ca ?
Et au niveau visuelle comment arrive à le représenter (css/html)?
Pourriez-vous m'aiguiller sur une méthode sur laquel je devrait partir ? Si quelqu'un a déjà fait un organigramme en php je suis preneur de toute aide :)
merci d'avance pour votre aide
guigui69
-
Hello,
Je ne partirai pas sur les salariés mais le département de rattachement, avec un algo automatique, en ajoutant une nouvelle personne, tu lui associes un département et hop tout se fait tout seul.
Je partirai donc sur département(direction, RH, Informatique, compta ...) à chaque département est associé un numéro, direction c'est le 1, compta c'est le 2 etc ... ainsi qu'un numéro de rattachement hiérarchique compte 2 rattaché au 1.
Avec ces 2 données, un petit algo de boucle for qui créé le placement ligne puis qui descend au niveau d'en dessous, si tu te débrouilles en css, avec les balises tu peux faire des trucs vraiment pas mal avec des transformations. <li> -> chaque personne <ul> le niveau hiérarchique. Sachant que les départements sont imbriqués dans le niveau de rattachement.
Avec cette méthode qui ressemble fortement à du XML, tu peux facilement faire la relation des traits puisque la relation est une imbrication, en faisant pareil avec les salariés, tu peux faire de l'imbrication au sein d'un département.
Je n'ai jamais fait ce traitement par contre. C'est juste une idée comme ça :).
PS : un peu de culture sur l'utilisation de ce type de données : Tu as demandé l'accord pour l'utilisation des photos ? dans un cadre professionnel, l'utilisation des données à caractère personnel nécessite une déclaration à la CNIL.
-
Table hierarchie{
id
label
niveau
}
Le niveau te permettra de trier l'ordre de hiérarchie
Exemple:
Directeur = 1;Sous-directeur = 100;Manager = 200 .. (de 100 en 100, c'est mieux. ça permet d'insérer des nouveaux niveaux si besoin)
Table salarie{
id
nom
[donné perso]
position_hierarchique - foreignKey hierarchie
N+1/supérieur - foreignKey salarie
N-1 - [] of foreignKey salarie
}
Et après tu n'as plus qu'a requêter sur une position hiérarchique/id user/...
Comme l'a signalé Archange, l'ajout du département, ça peut être pas mal. ;)
Pour ce qui est HTML/CSS, ça dépend ton but. Normalement tu boucle sur tes positions hiérarchique et sur les N-1 qui bouclent eux aussi sur le N-1, etc.
Avec ça tu as ce qu'il faut pour l'HTML.
Pour le CSS, à toi de voir si tu UL/LI ou si tu fais "pack par hiérarchie" que tu peux row/column avec un framework css responsive type foundation/bootstrap. Je trouve le couple row/column et faire des "packs" assez sympas après tu peux rajouté des filtres (par N+1/par département/etc.)