Fichiers

Résolu
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -  
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je travaille sur les fichiers en Php. Dans un premier temps, j'ai réussi a ajouter quelque chose dans le fichier mais ensuite dans une autre page je voudrais rafficher les informations dans un tableau et c'est la que j'ai un petit soucis ?

3 réponses

fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   1
 
voici mon code

<!DOCTYPE html>
<html>
<head>
 <title>Affichage des contacts</title>
</head>
<body>
 <table border='30' cellpadding="12" cellspacing="2" width="35%" align="CENTER">
 <form>
 <?php $ouvre=fopen("fichier.txt","r"); 
  
  while (!feof ($ouvre)) 
  { 
    $lecture = fgets ($ouvre, 4096); 
    $donnee = explode ("*",$lecture); 
    $combien = count ($donnee)-1; 
    

   for ($i=0;$i<=$combien;$i++) 
    { 
      echo "<td>$lecture</td>";
      echo $donnee[$i], "<br>"; 
    } 
 } 

 fclose($ouvre); // fermeture

 ?>
 <a href="fichiers.php" >Ajouter un contact</a>


</form>
</table>
</body>
</html>

0
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   1
 
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Dans ta boucle d'affichage, tu mets <td>$lecture</td>, or $lecture contient le contact entier et non pas sa décomposition.
C'est plutôt "<td>" . $donnee[$i] . "</td>" que tu voudrais, non ?

Xavier
0
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   1
 
Super merci beaucoup maintenant j'essaye de les afficher par ordre alphabétique avec la fonction sort
comment je pourrais faire ?
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Dans ce cas-là, plutôt que d'afficher au fur et à mesure de la lecture, il faut stocker les contacts dans un tableau. Ensuite, tu le tries avec sort(), et enfin tu fais une boucle dessus pour faire l'affichage.
0
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   1
 
Oui c'est ce que j'avais penser faire mais en cherchant plus loin, j'ai trouver la fonction file qui permet de faire le tableau tout seule et donc ensuite je le trie avec sort(), mais je ne sais pas comment l'utiliser dans mon code ??
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Il ne faut pas l'intégrer à ton code, du coup, il faut plutôt réécrire ton code.
Tu peux faire quelque chose comme ça :
 <?php
$fichier = file("fichier.txt"); 
sort($fichier);
foreach ($fichier as $ligne)
{
    $donnee = explode ("*", $ligne); 
    foreach ($donnee as $valeur)
        echo "<td>$valeur</td>";
}
?>

Xavier
0
fa23 Messages postés 87 Date d'inscription   Statut Membre Dernière intervention   1
 
<!DOCTYPE html>
<html>
<head>
	<title>Affichage des contacts</title>
</head>
<body>
	<table border='30' cellpadding="12" cellspacing="2" width="10%" align="CENTER">
	<form>
	<?php 

	$ouvre = fopen("fichier.txt","r"); 
	
	while (!feof ($ouvre)) 
	 { 

		 $lecture = fgets ($ouvre, 4096); 
		 $donnee = explode ("*",$lecture); 
		 $combien = count ($donnee)-1; 
		 $compteur = 0;
		
		 $fichier = file("fichier.txt"); 

		 sort($fichier);
		 
		 foreach ($fichier as $ligne)
			{
		    	
		    	$donnee = explode ("*", $ligne); 
		    	foreach ($donnee as $valeur);
		        //echo "<td>$valeur</td>";

			}

		 echo "<tr><th>Nom</th>";
		 echo "<th>Prenom</th>";
		 echo "<th>Numéro de téléphone</th>";
		 echo "</tr>";
		 echo "<tr>";	
		
			
		 for ($i=0;$i<$combien;$i++) 
		  { 

		  	
		  	$compteur++;
			
			echo "<td>";	
		  	echo $donnee[$i], "<br />";
		  	echo "</td>";

		  	if ($compteur == 3)
		  	{
		  		$compteur = 0;
		  		echo "<tr></tr>";
		  	}

		  }
		 echo "</tr>";

		 
	}

	fclose($ouvre); // fermeture

 ?>

	


</form>
</table>
</body>
<footer>
	<br /><center><a href="fichiers.php" >Ajouter un contact</a><br /><br />
	<a href="accueil.php">Accueil</a></center>
</footer>
</html>



0