вывести дерево в php sql и сумму всех последователей

20:40 start2
0 0 0 1 1 5 4 4 8 8 10 2 12 13 13 15 16 17 17 3 3 3 22 tvr

  • sum=8 id=1 pr-0
    • sum=5 id=4 pr-1
      • sum= id=7 pr-4
      • sum=3 id=8 pr-4
        • sum= id=9 pr-8
        • sum=1 id=10 pr-8
          • sum= id=11 pr-10
    • sum=1 id=5 pr-1
      • sum= id=6 pr-5
  • sum=8 id=2 pr-0
    • sum=7 id=12 pr-2
      • sum=6 id=13 pr-12
        • sum= id=14 pr-13
        • sum=4 id=15 pr-13
          • sum=3 id=16 pr-15
            • sum=2 id=17 pr-16
              • sum= id=18 pr-17
              • sum= id=19 pr-17
  • sum=4 id=3 pr-0
    • sum= id=20 pr-3
    • sum= id=21 pr-3
    • sum=1 id=22 pr-3
      • sum= id=23 pr-22

all-23
end6

 

код php

<?
mysql_connect( "localhost" , DB_USERNAME , DB_PASSWORD ) ;

$qr1= " SELECT * FROM `smartmicro`.`tree` LIMIT 0, 25; ";
$rs1=mysql_query ($qr1);
while ($row=mysql_fetch_array($rs1) )
{
$c[]= $row;
$n ++ ;
$d[$row[par]][]=$row[id];
echo $row[par]." ";
}

$btr="";
$tvr="";

$n=0;

function tr1($el)
{
global $sum ;
global $c;

foreach ($c as $value)
{ if ( $value["par"]==$el)
{
$sum[$el]+= tr1($value["id"])+$value["tim"]; ;
}
}
return $sum[$el];
}
tr1(0);

function tr($el)
{
global $btr;
global $tvr,$sum;
$btr.= "-".$el."-";
$tvr.= "<ul>";

global $c;

foreach ($c as $value)
{ if ( $value["par"]==$el)
{
$tvr.= " <li> sum=".$sum[$value["id"]]." id=".$value["id"]." pr-".$value["par"]."</li>";
tr($value["id"]) ;
}
}

$tvr.="</ul>";
$n++;
}

tr(0);

echo "tvr".$tvr;
// print_r($c);
foreach ($c as &$value) //// & cсыдаемся для изминения переменной
{ $value["id"]=2;}
echo"all-".$sum[0];
echo " <br>end6"

?>

 

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

   
© 2012 Программирование в удовольствие Яндекс.Метрика Suffusion theme by Sayontan Sinha