par
nejme.eddinne » 10 août 2006, 09:17
Bonjour
J'ai pris votre code, il ne m'a pas rien affiché

mais j'ai trouvé la solution ma tt était sur le point de s'exploser

pour un fichier csv:
1;a;entr;10
1;a;sort;2
2;f;entr;5
2;f;---;4
2;f;sort;6
3;t;sort;9
3;t;entr;55
<?
$fichier=fopen("test.csv",'r');
$contenu=fread($fichier,filesize("test.csv"));
$lignes=explode("\n",$contenu);
//print_r($lignes);
for($i=0;$i<sizeof($lignes);$i++)
{
$lignes[$i]=explode(";",$lignes[$i]);
}
sort($lignes,0);
$i=1;
$trv=0;
$pntg=0;
//echo sizeof($lignes);
while($i<sizeof($lignes))
{
for($k=$i;$k<=sizeof($lignes);$k++)
{
if($lignes[$i][0]!=$lignes[$k][0])
{
$trv=$k;
break;
}
}
for($j=$i;$j<$trv;$j++)
{
if($lignes[$j][2]=="sort")
$sortie=$lignes[$j][3];
if($lignes[$j][2]=="entr")
$entree=$lignes[$j][3];
}
if($entree!="" || $sortie!="")
{
$tab[$i]=array("id"=>$lignes[$i][0],"Nom"=>$lignes[$i][1],"entree"=>$entree,"sortie"=>$sortie);
$pntg++;
}
$entree="";
$sortie="";
$i=$trv;
}
echo " <table>
<tr> <td> Id </td> <td> Nom </td> <td> Entree </td> <td> Sortie </td> </tr>";
foreach($tab as $value)
{
echo "<tr> <td>".$value["id"]." </td> <td> ".$value["Nom"]." </td> <td> ".$value["entree"]." </td> <td> ".$value["sortie"]." </td> </tr>";
}
echo "</table>";
?>
le principe était de découpé le tableau en sous tableau et travailler sur ces parties ceci me donnera:
Id Nom Entree Sortie
1 a 10 2
2 f 5 6
3 t 55 9
merci bien
Bonjour
J'ai pris votre code, il ne m'a pas rien affiché :?
mais j'ai trouvé la solution ma tt était sur le point de s'exploser :P
pour un fichier csv:
[quote]1;a;entr;10
1;a;sort;2
2;f;entr;5
2;f;---;4
2;f;sort;6
3;t;sort;9
3;t;entr;55
[/quote]
[php]<?
$fichier=fopen("test.csv",'r');
$contenu=fread($fichier,filesize("test.csv"));
$lignes=explode("\n",$contenu);
//print_r($lignes);
for($i=0;$i<sizeof($lignes);$i++)
{
$lignes[$i]=explode(";",$lignes[$i]);
}
sort($lignes,0);
$i=1;
$trv=0;
$pntg=0;
//echo sizeof($lignes);
while($i<sizeof($lignes))
{
for($k=$i;$k<=sizeof($lignes);$k++)
{
if($lignes[$i][0]!=$lignes[$k][0])
{
$trv=$k;
break;
}
}
for($j=$i;$j<$trv;$j++)
{
if($lignes[$j][2]=="sort")
$sortie=$lignes[$j][3];
if($lignes[$j][2]=="entr")
$entree=$lignes[$j][3];
}
if($entree!="" || $sortie!="")
{
$tab[$i]=array("id"=>$lignes[$i][0],"Nom"=>$lignes[$i][1],"entree"=>$entree,"sortie"=>$sortie);
$pntg++;
}
$entree="";
$sortie="";
$i=$trv;
}
echo " <table>
<tr> <td> Id </td> <td> Nom </td> <td> Entree </td> <td> Sortie </td> </tr>";
foreach($tab as $value)
{
echo "<tr> <td>".$value["id"]." </td> <td> ".$value["Nom"]." </td> <td> ".$value["entree"]." </td> <td> ".$value["sortie"]." </td> </tr>";
}
echo "</table>";
?>[/php]
le principe était de découpé le tableau en sous tableau et travailler sur ces parties ceci me donnera:
[quote]Id Nom Entree Sortie
1 a 10 2
2 f 5 6
3 t 55 9
[/quote]
merci bien