Recherche contre le cancer : fichier txt et creation tableau 2 dimenssions

Invité n'ayant pas de compte PHPfrance

23 avr. 2008, 11:22

Bonjour,

J'ai un fichier texte comprennant 300 lignes la premiere correspond au champs et les autres ligne correspond aux données

Code : Tout sélectionner

Ligne 1 "ID","IDAA","AAIDX","AACTY","AALCK","AALDC","AALDM","AAAUTO","AAIDX2","AAIDX3","AACRM","AACRA","AAEVS","AALCC","AALCM","AALCD","AALCA","AALCR","AALCS","MEDAORB","BOVERA","BEFAFT","MEDANUMB","NEWTRAN","NEWTRAN1","NEWTRAN2","CENTRNR","UNIT","TEAMTYPE","MEDNAME","VADMIN10","DAT1STRE","DATLSTRE","PERMISS","VREGISTR","VIBMTR","VIBMTRID","TRIAL","UPN","VDOSSIER","GIVNAME","FAMNAME","DATPATBD","PATSEX","ABOPAT","RHESPAT","AADATE","AACODE1","ETHNIC","ETHNOTHE","COMMENT1","COMMENT2","COMMENT3","DTRANS1","RELSTA1","DREL1","DTRANS2","RELSTA2","DREL2","DTRANS3","RELSTA3","DREL3","DTRANS4","RELSTA4","DREL4","DTRANS5","RELSTA5","DREL5","DTRANS6","RELSTA6","DREL6","SURVSTA","DLASTSE","VINTFUP","VCAUSDTH","VCSDTGVH","VCSDTINP","VCSDTPTX","VCSDTINF","VCSDTBAC","VCSDTVIR","VCSDTFUN","VCSDTPAR","VCSDTREJ","VCSDTVOD","VCSDTHMR","VCSDTCTX","VCSDTCNS","VCSDTGIT","VCSDTSKI","VCSDTREN","VCSDTMOF","VCSDTEBV","DEACSBMR","DEACSBMU","VDCHEART","VCCIRRHO","VCDCIRCS","VCDDIABE","VCDHPTCA","VCDOTHER","VCDOTSPE","VOTHERID","CONVSOUR","NATREG","EBMTREG","HIDEREAS","CREATOR","MODIFIER","PEDIATRI","FORMUSED","AACOD2","AACOD8","MEDABT1","MEDABT2","MEDABT3","MEDABT4","MEDABT5","MEDABT6","VDATAFO","OUTQUERY","VSIDERR","VSLFUPD","VSOEXCL","REASEXCL","VPATPRT","VFOUPCTR","VCODE1","VCODTXT1","VDATEX1","VCODE2","VCODTXT2","VDATEX2","VCODE3","VCODTXT3","VDATEX3","VCODE4","VCODTXT4","VDATEX4","VCODE5","VCODTXT5","VDATEX5","AACODE","AACOD3","AACOD4","AACOD5","AACOD7","AACOD6","LASTITEM","DUMMY" ligne 2 205,9853,671,"GB",,,1/12/2006 17:48:01,59928,,,,,,,,,,,,3,,,,,,,671,"D.SAMSON",,,"99",12/22/1998 0:00:00,,2,1,3,"011065",1,"11065",,"D","R",5/15/1941 0:00:00,2,5,2,1/7/2006 0:00:00,,,,,,,10/1/1998 0:00:00,2,5/17/1999 0:00:00,4/20/2000 0:00:00,1,1/14/2005 0:00:00,8/8/1808 0:00:00,88,8/8/1808 0:00:00,8/8/1808 0:00:00,88,8/8/1808 0:00:00,8/8/1808 0:00:00,88,8/8/1808 0:00:00,8/8/1808 0:00:00,88,8/8/1808 0:00:00,2,1/14/2005 0:00:00,1.44,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"8-853",,,,,,,,,41,4/20/2000 0:00:00,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,2,1/7/2006 0:00:00,,,
je cherche a faire un tableau associatif comme suit :

| champ1 | champ 2 | champ3 |
| donnee | donnee | donnée |

Mon code php :

$fp = fopen("AA_.txt","r"); //chargement du flux et positionnement du curseur sur le prmier caractere
$premiereligne .= fgets($fp, 4096);
$colonnea=explode(",",$premiereligne);
$colonne=preg_replace("/^\"|\"$/","",$colonnea);
//echo $premiereligne;

$nbcolonne=count($colonne)-1; // nbre d'éléments séparés par ","
echo "<b>Ce fichier contient ",$nbcolonne," données : </b><br><br>";
				//for ($i=0;$i<=$nbcolonne;$i++)
					//{
						//echo $colonne[$i],"<br>";  // affichage des données
					//}
/*
for($i=0;$i<=$nbcolonne;$i++) { // boucle sur les colonnes
	echo $colonne[$i];
	while (!feof($fp)) { //tant que je suis pas à la fin du fichier je parcours
				$ligne .= fgets($fp, 4096); // lecture du contenu de la ligne
				
				$donnee=explode(",",$ligne);
				//$donnee=preg_replace("\^\"|\"$","",$lignea);
				$nb=count($donnee)-1; // nbre d'éléments séparés par ","
				//echo "<b>Ce fichier contient ",$combien," données : </b><br><br>";
				for ($j=0;$j<=$donnee;$j++){// boucle sur les disques
					echo $colonne[$i];
					//echo $monfichierAA[$colonne[$i]][$donnee[$j]] ."<br>"; // écriture à l'écran du contenu
				}
									
			}
      // fin boucle sur les donnee
} // fin boucle sur les colonnes
Je ne comprend pas ou j'ai fait une bourde
quelqu'un peut il m'aider ?

Invité n'ayant pas de compte PHPfrance

23 avr. 2008, 12:01

//On prend le contenu du fichier
$content=file_get_contents('AA_.txt','r');

//On sépare par ligne
$content=explode("\n", $content);
$content=preg_replace("/^\"|\"$/","",$content);
//On sépare chaque ligne par colonne
for($i=0;$i<sizeof($content);$i++)
{
           $content[$i] = explode(",", $content[$i]);
		   $content[$i]=preg_replace("/^\"|\"$/","",$content[$i]);
}
//Affichage pour le teste
for($i=0;$i<sizeof($content);$i++){
	print_r($content[$i]);
	print_r("<br>--------------------------<br>");
}