Bonjour,
Je voudrais faire une fonction qui me calcule des numéros sosas sur des personnes et je ne sais pas comment m'y prendre, je m'explique.
Dans une table Mysql, j'ai des individus avec un id de référence et l'id de leur père et de leur mère.
Les numéros sosas se calculent de la manière suivante :
Le numéro sosa de départ est 1, le père est le 2 et la mère le 3, le grand père paternel est le 4, la grand mère paternelle est le 5, le grand père maternel est le 6, la grand mère maternelle est le 7.
Soit le sosa des parents est toujours 2*N pour le père et 2*N+1 pour la mère.
Donc partant de l'id de la première personne et lui attribuant le sosa 1, j'aimerais donner à chaque parent trouvé dans ma table Mysql son numéro sosa correspondant.
Je pense faire une fonction récursive mais je ne sais pas comment écrire cette fonction. Je voyais :
Voilà pour le principe que j'ai trouvé, mais en faisant des essais "à la main", je n'y arrive pas, il doit me manquer des sauvegardes de l'id quelque part, mais lequel et où ?Code:fonction Attrib_sosa (num_sosa, id_indi) { lecture de la fiche de l'id_indi si le père est renseigné, on lit la fiche du père et on calcule son sosa 2*num_sosa et on mets à jour sa fiche puis on rappelle la fonction Attrib_sosa avec le nouveau sosa calculé et l'id_indi du père si la mère est renseignée, on lit la fiche de la mère et on calcule son sosa 2*num_sosa+1 et on mets à jour sa fiche puis on rappelle la fonction Attrib_sosa avec le nouveau sosa calculé et l'id_indi de la mère }
Quelqu'un ou quelqu'une pourrait il m'aider à construire cette fonction ?
Merci beaucoup de votre amabilité.
-----