Mode d'emploi
Rechercher un nom Rechercher un profil Moteur de recherches Bibliographie Explorer une parentèle |
// _____ _____ _____ _____ ___ _____ __ _____ __ __ ____ __ __ ___ _____ __ _____ __ __ __ __
// (( )) ||_// ||== ||_// ||=|| || || (( )) ||\\|| (( ||==|| ||=|| ||_// || ||== (( \\ // ||
// \\_// || ||___ || \\ || || || || \\_// || \|| \\__ || || || || || \\ ||__| ||___ \_)) \V/ ||
//
////////////////// AFFICHAGE DES PARENTES //////////////////////
//ini_set('display_errors', 1);
//ini_set('error_reporting', 8191);
//SYNOPSIS
//1. Choisir un nom
//2. Choisir un type de relation
//3. Afficher les résultats
//Initialisation des variables
include("./param_connexion.php");
include("./biblio_genealogie.php");
//include("./biblio_fonctions.php");
global $base;
$lien=connexion();
echo 'Explorer une parentèle'; if(isset($_GET['rechercher'])){ //Si le formulaire a été rempli, on affiche les résultats //initialisation des variables $liste_parent=''; $liste_dot=''; $frise=''; $frise_color=''; $min_rank=0; $max_rank=0; $tableau_resultat=array(); $long_tableau=array(); //1. On écrit la requête if($_GET['generation']!=''){ if($_GET['type_rel']==''){ $_GET['generation']='AND distance_g BETWEEN -'.$_GET['generation'].' AND '.$_GET['generation']; } elseif($_GET['type_rel']=='AND distance_g<0'){ $_GET['generation']='AND distance_g > - '.$_GET['generation']; } elseif($_GET['type_rel']=='AND distance_g>0'){ $_GET['generation']='AND distance_g < '.$_GET['generation']; } else{ $_GET['generation']='AND distance_g = '.$_GET['generation']; } } //On récupère d'abord les informations sur l'individu $query='SELECT nom_index, sexe_index, num_index, num_chvi_index FROM index_chvi WHERE num_index='.$_GET['individu'].' LIMIT 0,1'; $rs=interro($base,$query); while($source=mysql_fetch_row($rs)){ //Récupération du n° d'individu si nécessaire $queryOrdre='SELECT COUNT(num_index) FROM index_chvi WHERE nom_index="'.$source[0].'" LIMIT 0,1'; $rOrdre=interro($base,$queryOrdre); while($ordre=mysql_fetch_row($rOrdre)){ $nOrdre=$ordre[0]; } if($nOrdre>1){ if($source[3]!=0){ $numIndiv=' (n° '.$source[3].')'; } else{ $numIndiv=' (n° '.$source[2].' hors Charles VI)'; } } else{ $numIndiv=''; } //Récupération du numéro de la fiche individu //echo $source[1]; $source_sexe=$source[1]; if($source[3]!=0){//Si c'est individu C6 il a une fiche info qu'on peut linker $source_nom=''.$source[0].$numIndiv.''; } else{ $source_nom=$source[0].$numIndiv; } $source_sexe=$source[1]; } $liste_rg='{rank = same; 0 "'.$source_nom.'"}'."\\\n"; //Ensuite on récupère sa parentèle $query='SELECT * FROM parent WHERE num_par_par ='.$_GET['individu'].' '.$_GET['type_rel'].' '.$_GET['generation'].' ORDER BY distance_g ASC'; $rs=interro($base,$query); while($row=mysql_fetch_row($rs)){ if($row[5]<$min_rank){ $min_rank=$row[5]; } if($row[5]>$max_rank){ $max_rank=$row[5]; } $query_cible='SELECT nom_index, sexe_index, num_index, num_chvi_index FROM index_chvi WHERE num_index='.$row[2].' LIMIT 0,1'; $rsa=interro($base,$query_cible); while($cible=mysql_fetch_row($rsa)){ $rOrdre=array(); $mOrdre=array(); $tOrdre=array(); $queryOrdre='SELECT COUNT(num_index) FROM index_chvi WHERE nom_index="'.$cible[0].'" LIMIT 0,1'; $rOrdre=interro($base,$queryOrdre); while($ordre=mysql_fetch_row($rOrdre)){ $nOrdre=$ordre[0]; } if($nOrdre>1){ if($cible[3]!=0){ $numIndiv=' (n° '.$cible[3].')'; } else{ $numIndiv=' (n° '.$cible[2].' hors Charles VI)'; } } else{ $numIndiv=''; } //Récupération du numéro de la fiche individu //echo $source_sexe; if($cible[3]!=0){//Si c'est individu C6 il a une fiche info qu'on peut linker $cible_nom=''.$cible[0].$numIndiv.''; } else{ $cible_nom=$cible[0].$numIndiv; } $cible_sexe=$cible[1]; } if($row[5]<-1){ if($row[5]==-2){ if($source_sexe=='masculin'){ $nom_lien='le grand-'.utf8_decode($tableau_genealogique[$row[3]][1]); } else{ $nom_lien='la grand-'.utf8_decode($tableau_genealogique[$row[3]][1]); } } else{ $nom_lien=str_repeat('l\' arrière-', -1*$row[5]-2).'grand-'.utf8_decode($tableau_genealogique[$row[3]][1]); } } elseif($row[5]>1){ if($source_sexe=='masculin'){ if($row[5]==2){ $nom_lien='le petit-'.utf8_decode($tableau_genealogique[$row[3]][1]); } else{ $nom_lien='l\''.str_repeat('arrière-', $row[5]-2).'petit-'.utf8_decode($tableau_genealogique[$row[3]][1]); } } else{ if($row[5]==2){ $nom_lien='la petite-'.utf8_decode($tableau_genealogique[$row[3]][1]); } else{ $nom_lien='l\''.str_repeat('arrière-', $row[5]-2).'petite-'.utf8_decode($tableau_genealogique[$row[3]][1]); } } } else{ if($source_sexe=='masculin'){ $nom_lien='le '.utf8_decode($tableau_genealogique[$row[3]][1]); } else{ $nom_lien='la '.utf8_decode($tableau_genealogique[$row[3]][1]); } } switch($row[4]){ case 0 : $information = '(information certaine →)'; break; case 1 : $information = '(information probable --→)'; break; case 2 : $information = '(information possible ··→)'; break; case 3 : $information = '(parenté déterminée automatiquement à partir d\'informations certaines →)'; break; case 4 : $information = '(parenté déterminée automatiquement à partir d\'informations probables --→)'; break; case 5 : $information = '(parenté déterminée automatiquement à partir d\'informations possibles ··→)'; break; default : $information = ''; } //Quand on récapitule, il y a une inversion du lien => $cible_nom est $nom_lien de $source_nom $liste_parent.='
Version imprimable"; } else{ //Sinon, on affiche le formulaire //Initialisation des variables $liste_nom=''; $query='SELECT nom_index, sexe_index, num_index, num_chvi_index FROM index_chvi ORDER BY nom_index, num_index'; $rs=interro($base,$query); while($source=mysql_fetch_row($rs)){ //Récupération du n° d'individu si nécessaire $queryOrdre='SELECT COUNT(num_index) FROM index_chvi WHERE nom_index="'.$source[0].'" LIMIT 0,1'; $rOrdre=interro($base,$queryOrdre); while($ordre=mysql_fetch_row($rOrdre)){ $nOrdre=$ordre[0]; } if($nOrdre>1){ if($source[3]!=0){ $numIndiv=' (n° '.$source[3].')'; } else{ $numIndiv=' (n° '.$source[2].' hors Charles VI)'; } } else{ $numIndiv=''; } $listeNom[$source[2]]=$source[0].$numIndiv; } foreach($listeNom as $id => $vedette){ $liste_nom.=''."\n"; } //2. Affichage du formulaire echo<<
|