- <?php
-
- /*
- --------------------------------------------------------------
- | INFORMATIONS DE CONNEXION A LA BASE |
- --------------------------------------------------------------
- */
-
- $hote = "127.0.0.1"; //il vous suffit de remplacer avec vos parametres de connexion.
- $port = "5430";
- $base = "mandbweb";
- $user = "user";
- $pwd = "password";
-
- // connexion a postgreSQL
- $conn_string = "host=$hote port=$port dbname=$base user=$user password=$pwd";
- $conn = pg_connect($conn_string);
-
-
- /*
- -----------------------------------------------------
- | AFFICHAGE INDENTÉ DES DONNEES |
- -----------------------------------------------------
- */
-
- $recherche='1'; //cette variable a ete mise 'en dur' juste pour tester le bon fonctionnement
-
- function espace($rang)
- {
- $ch= '';
- for ($x=0;$x<$rang;$x++)
- {
- $ch.= ' ';
- }
- $ch.= '<img src=pointilles.gif> ';
- return $ch;
- }
-
-
- /*
- FUNCTION recur($pere,$rang,$conn)
- fonction récursive d'affichage de l'arbre
- $pere :Element courant
- $rang :Décallage de l'element
- $conn :Index de la connexion a utiliser
- */
-
- function recur($pere,$rang,$conn)
- {
- if($conn)
- {
- // recherche des articles
- $sql="select ref_nom,ref_article_psf from psf where ref_nom='$pere'";
- $resultat=pg_query($sql);
- $nblignes=pg_num_rows($resultat);
-
- if($nblignes > 0)// si il y a au moins 1 resultat
- {
- for($i=0 ;$i<$nblignes ;$i++)// tant qu'il y a des lignes on affiche les enfants
- {
- $ligne=pg_fetch_array($resultat,$i, PGSQL_ASSOC);
-
- $parent=$ligne["ref_nom"];
- $enfant=$ligne["ref_article_psf"];
-
- if ($parent==$pere)// si un élément a pour père : $pere
- {
- echo espace($rang),"<font color='blue'><b>".$enfant."</b></font><BR />"; // on l'affiche avec le décallage courrant et on recherche ses fils
- recur($enfant,$rang+1,$conn); // en rappelant la fonction recur() (+ incrémentation du décallage)
- }
- }
- }
- }
- else
- {
- echo"Erreur de connexion";
- }
- }
-
- echo" <font color='red'><b>$recherche</b></font><br>";
- recur($recherche,1,$conn);
-
- ?>
<?php
/*
--------------------------------------------------------------
| INFORMATIONS DE CONNEXION A LA BASE |
--------------------------------------------------------------
*/
$hote = "127.0.0.1"; //il vous suffit de remplacer avec vos parametres de connexion.
$port = "5430";
$base = "mandbweb";
$user = "user";
$pwd = "password";
// connexion a postgreSQL
$conn_string = "host=$hote port=$port dbname=$base user=$user password=$pwd";
$conn = pg_connect($conn_string);
/*
-----------------------------------------------------
| AFFICHAGE INDENTÉ DES DONNEES |
-----------------------------------------------------
*/
$recherche='1'; //cette variable a ete mise 'en dur' juste pour tester le bon fonctionnement
function espace($rang)
{
$ch= '';
for ($x=0;$x<$rang;$x++)
{
$ch.= ' ';
}
$ch.= '<img src=pointilles.gif> ';
return $ch;
}
/*
FUNCTION recur($pere,$rang,$conn)
fonction récursive d'affichage de l'arbre
$pere :Element courant
$rang :Décallage de l'element
$conn :Index de la connexion a utiliser
*/
function recur($pere,$rang,$conn)
{
if($conn)
{
// recherche des articles
$sql="select ref_nom,ref_article_psf from psf where ref_nom='$pere'";
$resultat=pg_query($sql);
$nblignes=pg_num_rows($resultat);
if($nblignes > 0)// si il y a au moins 1 resultat
{
for($i=0 ;$i<$nblignes ;$i++)// tant qu'il y a des lignes on affiche les enfants
{
$ligne=pg_fetch_array($resultat,$i, PGSQL_ASSOC);
$parent=$ligne["ref_nom"];
$enfant=$ligne["ref_article_psf"];
if ($parent==$pere)// si un élément a pour père : $pere
{
echo espace($rang),"<font color='blue'><b>".$enfant."</b></font><BR />"; // on l'affiche avec le décallage courrant et on recherche ses fils
recur($enfant,$rang+1,$conn); // en rappelant la fonction recur() (+ incrémentation du décallage)
}
}
}
}
else
{
echo"Erreur de connexion";
}
}
echo" <font color='red'><b>$recherche</b></font><br>";
recur($recherche,1,$conn);
?>