begin process at 2012 02 15 00:45:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

besoin d'aide boucle


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoin d'aide boucle

vendredi 28 avril 2006 à 19:24:36 | besoin d'aide boucle

joebuz

Membre Club


'lut tout le monde,

voila je suis en train de faire un essai de genealogie.
J'ai une table FA_personne où dedans sont enregistré tout les membre.

Pour chaque membre il ya les infos qui le concerne, un id du membre, un id du pere et un id de la mere

num --> $id
id_parent_pere --> $id_pere
id_parent_mere --> $id_mere

Je cherche a générer l'arbre ascendant d'une personne

je cherche donc $id_pere et $id_mere ou num=$id
et pour chaque personne trouvée je recommence.

J'ai fait un bout de script qui fonctionne a peu pres le probleme c'est que cela affiche uniquement l'arbre ascendant des peres ou des meres mais pas les deux !!

j'aurais besoin d'un petit coup de main.

Ps pour le script je me complique surement et il doit y avoir plus simple, mais bon c'est tout ce que j'ai réussi a faire

voici le script :

$id_search2 = $id;
   $i5 = 0;
   $i = 0;
   $i2 = 1;
   $i3 = 0;
   $i4 = 1;
   $n=0;

   $sql4 = mysql_query("SELECT * FROM FA_personne WHERE num='$id_search2'");
    if($data4 = mysql_fetch_array($sql4)){
     
    $i6 = 1;
    echo "<table border='0' width='95%' align='center'>";
    echo "<tr><td colspan='2' align='center'>".$nom." ".$prenom." (".$id.")<br /></td></tr>";

     while($i6 > $i5){
     

       while(($i2 > $i)||($i4 > $i3)){
       $id_search = $id_search2;    
      
        

       $sql = mysql_query("SELECT * FROM FA_personne WHERE num='$id_search'");
        if($data = mysql_fetch_array($sql)){
        $id_pere = $data['id_parent_pere'];
        $id_mere = $data['id_parent_mere'];
        $nom = $data['nom'];
        $prenom = $data['prenom'];
   
        $i5=++$i5;
        $i6=$i5+1;
   
        //echo "<tr><td colspan='2' align='center'>".$nom." ".$prenom." (".$id.")<br /></td></tr>";
    
        echo "<td width='50%' align='center'><table border='1' width='100%' align='center'><tr>";

         if($id_pere != '0'){
      
         $sql2 = mysql_query("SELECT * FROM FA_personne WHERE num='$id_pere'");
          if($data2 = mysql_fetch_array($sql2)){
          $id_search2 = $id_pere;
          $id_pere = $data2['id_parent_pere'];
          $nom2 = $data2['nom'];
          $prenom2 = $data2['prenom'];
          $n=++$n;
  
          echo "<td align='center'>Niveau : ".$n."<br />".$nom2." ".$prenom2." (".$id_search2.") <br /></td>";
          }
         }
  
         else{
         //echo "<p />Fin de l'arbre père<p />";
         $i = $i2;
         }
       
    
        echo "<p />";
        echo "</tr></table></td><td width='50%' align='center'><table border='1' width='100%' align='center'><tr>";

         if($id_mere != '0'){
      
         $sql3 = mysql_query("SELECT * FROM FA_personne WHERE num='$id_mere'");
          if($data3 = mysql_fetch_array($sql3)){
          $id_search2 = $id_mere;
          $id_mere = $data3['id_parent_mere'];
          $nom3 = $data3['nom'];
          $prenom3 = $data3['prenom'];
  
          echo "<td align='center'>Niveau : ".$n."<br />".$nom3." ".$prenom3." (".$id_search2.") <br /></td>";
          }
         }
  
         else{
         //echo "<p />Fin de l'arbre mère<p />";
         $i3 = $i4;
         }
        
        echo "</tr></table></td></tr>";
        
      
        }
        else{
        echo "<p />Erreur, la personne demandée est introuvable !<p />";
        }

       }


       if(($i3 == $i4)&&($i2 == $i)){
       $i5 = $i6;
       echo "<p />C'est fini !<p />";
       }
      

     }
     echo "</table><p />";

    }

    else{
    echo "<p />la personne demandée est introuvable !<p />";
    }




joebuz

vendredi 28 avril 2006 à 20:58:06 | Re : besoin d'aide boucle

FhX

Fait une fonction récursive pour ca !
samedi 29 avril 2006 à 02:22:55 | Re : besoin d'aide boucle

joebuz

Membre Club
euh...ouai si tu le dis !!

le seul soucis c'est que je sais pas faire les fonctions !!

joebuz

samedi 29 avril 2006 à 10:33:45 | Re : besoin d'aide boucle

rclsilver02

Membre Club
pour l'aide sur les fonction  : [ Lien ]

sinon, une fonction récursive, c'est une fonction qui s'appelle elle meme... mais... apprends avant a utiliser les fonction, ça te sera utile.
samedi 29 avril 2006 à 15:28:21 | Re : besoin d'aide boucle

joebuz

Membre Club

ouai ca n'a pas l'air simple a faire les fonctions !!

est-ce que qqn aurait un petit exemple simple pour comprendre un peu comment qu'ca fonctionne svp !?

joebuz

samedi 29 avril 2006 à 16:37:40 | Re : besoin d'aide boucle

rclsilver02

Membre Club
<?php

function plop($pouet)
{
 echo('$pouet=' . $pouet . '<br />' . "\n");
}

plop('mif'); // affiche $pouet=mif

?>

voila :o
mardi 2 mai 2006 à 11:42:01 | Re : besoin d'aide boucle

joebuz

Membre Club

c bon j'ai ma fonction

function plop($id)
{
echo('$id = ' . $id . '<br />' . "\n");
$sql = mysql_query("SELECT * FROM FA_personne WHERE num='$id'");
 if($data = mysql_fetch_array($sql)){
 $id_pere = $data['id_parent_pere'];
 $id_mere = $data['id_parent_mere'];
 $nom = $data['nom'];
 $prenom = $data['prenom'];
 }
echo "<p />id_pere : ".$id_pere."<br />id_mere : ".$id_mere."<p />";

$sql2 = mysql_query("SELECT * FROM FA_personne WHERE num='$id_pere'");
 if($data2 = mysql_fetch_array($sql2)){
 $nomp = $data2['nom'];
 $prenomp = $data2['prenom'];
 }

$sql3 = mysql_query("SELECT * FROM FA_personne WHERE num='$id_mere'");
 if($data3 = mysql_fetch_array($sql3)){
 $nomm = $data3['nom'];
 $prenomm = $data3['prenom'];
 }

echo "<p /><br /><p /><b>".$nom."</b> ".$prenom."<br />Pere : ".$nomp." ".$prenomp."<br /> Mere : ".$nomm." ".$prenomm."<p />";

}


mais comment je fais pour qu'elle soit recursive, il faut rappeller la fonction pour id = id_pere et id= id_mere mais je sais^pas comment faire !?

joebuz

mardi 2 mai 2006 à 12:21:44 | Re : besoin d'aide boucle

FhX

function SelectByID($id) {

$sql = mysql_query('SELECT tes_champs FROM FA_personne WHERE num = '.$id);
return mysql_fetch_array($sql);

}

Et tu appèles ta fonction ainsi :
$donnees_pere = SelectByID($id_pere);
$donnees_mere = SelectByID($id_mere);

// echo $donnees_pere['nom'];
// echo $donnees_mere['prenom'];

Voila :)
mercredi 3 mai 2006 à 00:25:45 | Re : besoin d'aide boucle

joebuz

Membre Club

ok ca marche merki bcp a tous !!!!

maintenant faut juste que je trouve a organiser tout ca sous forme de pyramide !

function SelectByID($id_search) {
 $sql = mysql_query("SELECT * FROM FA_personne WHERE num='$id_search'");

  if($data = mysql_fetch_array($sql)){
  $nom = $data['nom'];
  $prenom = $data['prenom'];
  $id_pere = $data['id_parent_pere'];
  $id_mere = $data['id_parent_mere'];
  }

 echo $nom;
 echo "<br />";
 echo $prenom;
 echo "<p />";
 echo "<hr width='50%' align='center'>";

 //echo "<p />id_pere : ".$id_pere."<br />id_mere : ".$id_mere."<p />";

  if(($id_pere != '0')&&($id_pere != '')){
  $donnees = SelectByID($id_pere);
  }

  if(($id_mere != '0')&&($id_pere != '')){
  $donnees = SelectByID($id_mere);
  }
 }


 $donnees = SelectByID($id);

joebuz



Cette discussion est classée dans : mysql, id, echo, pere, mere


Répondre à ce message

Sujets en rapport avec ce message

Souci dans mon tableau [ par slhuilli ] Bonjour,je cherche la faille dans ce bout de code depuis p$ls jours sans trouver. Qu'elqu'un pourra peut être maider et m'expliquer . En fait, je n MySQL id? [ par Linuss ] Bonjour à tous, Voilà, lorsque j'essaie de faire un lien qui contient l'id (qui existe au ca sou quelqu'un poserait la question :) d'un tuto, je n'y a Besoin Aide Formulaire [ par Dexterage ] bonjour a tous :)voila jai un tit soucis avec ma page! Le but de la page étant de faire une lister d'évènement, en fonction des lieux. Il y a une tabl Mysql erreur, mais où ? [ par Tilix ] Bonjour,Je voudrais savoir où est l'erreur dans ceci :while($data = mysql_fetch_assoc($req))     {   if ('!'.$data['id'].'') { echo '(0)'; }    else { Pagination en php URGENT [ par hoodlum ] Tout d'abord je suis debutant en php et J'ai un petit pb,jarrive pas a trouver l'erreur dans mon script de pagination pour une requete SQL qui retourn AU SECOUR [ par hoodlum ] voici mon script:   include("heads.inc.php");      $req=$_SERVER['REQUEST_METHOD'];     if($req=="POST")       $cho etre perdu [ par hoodlum ] contrairement a tous les message ke g pu laissé sur le forum ;G trouvé le probleme .mais je c pa pkoi.voici mon :   include("heads.inc.php");      $re UNE BOUCLE infernal HELP ME!!! [ par hoodlum ] Le problemes c ke o 2eme passage par pasage a l'url le script arrete d'etre executé a partir de la ou g mis le pointillé car le while n'est pas execut Authentification [ par Alricaus ] Bonjour à tous. J'aimerai réaliser un code en php, utilisant la base de donnée mysql, pour faire que lorsqu'une personne s'identifie sur l'index en ht mysql [ par jnbrunet ] Salut, Je suis en train de programmé une partie admin pour un forum. Je permets au admin de blocker une discution en entrant le # de la discution dans


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales