IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Afficher le contenu d'un fichier dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 40
    Points
    40
    Par défaut [Tableaux] Afficher le contenu d'un fichier dans un tableau
    Bonsoir,

    J'ai un fichier.txt dans lequel les informations sont stockées sous la forme suivante :

    nom;prenom;adresse;codePostal;ville;email
    ...
    Je voudrais retourner un tableau dans lequel figurent les informations suivantes :

    numero date nom prenom ville
    J'avais commencé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
     
    // lecture du fichier et stockage dans un tableau
    // chaque ligne du fichier est dans une case du tableau
    $lignes = file("liste_signataires.txt");
     
    // traitement de chaque ligne 
    for ($i=0; $i<count($lignes); $i++) {
     
    // éclatement en éléments distincts
    $personne=explode(";",$lignes[$i]);
     
    // affichage des renseignements
    echo "<table>";
    }
     
    ?>
    Merci

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Et ? Quel est le problème ? L'affichage ? L'algo ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 40
    Points
    40
    Par défaut
    Le code est incomplet car je n'ai pas su le terminer.

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
     
    // lecture du fichier et stockage dans un tableau
    // chaque ligne du fichier est dans une case du tableau
    $lignes = file("liste_signataires.txt");
     
    // affichage des renseignements
    echo "<table>";
    // traitement de chaque ligne 
    for ($i=0; $i<count($lignes); $i++) 
    {
    // new line
    echo "<tr>";
    // éclatement en éléments distincts
    $personne=explode(";",$lignes[$i]);
     
    // pour chaque colonne
    for($j = 0; $j < count($personne); $j++)
    {
    // nouvelle colonne
    echo "<td>" . $personne[$j] . "</td>";
    }
    // fin de ligne
    echo "</tr>";
    }
    echo "</table>";
    ?>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 40
    Points
    40
    Par défaut
    Merci beaucoup Ca fonctionne.
    Par contre l'adresse, le code postal et l'email ne doivent pas y figurer : c'est confidentiel.
    J'aimerais par ailleurs, placer un numéro d'identifiant pour chaque signataire devant le nom. Un nombre qui est incrémenté et qui correspond au nombre de signataires ainsi que la date à laquelle l'utilisateur a signé.

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ben t'as les briques de base pour faire la boucle, lire le fichier etc. Maintenant la date si tu l'as pas mise dans le fichier tu peux pas l'inventer si? A moins de mettre la date courante...
    Et pour le numéro il suffit d'incrémenter un compteur en meme temps que les boucles...

    Enfin pour les colonnes "confidentielles" il suffit de modifier ta boucle pour ne pas traiter les colonnes privées.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 40
    Points
    40
    Par défaut
    Pour la date, j'ai modifié le fichier comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Vérifie la date
    			$date=date("d/m/Y H:i");
    			if (isset($_POST['envoyerDonnees'])) {
    			echo $date;
    			echo "<br><br>";
    			}
     
    // Ouverture ou création et enregistrement des coordonnées dans le fichier txt
    			$ouverture_fichier=fopen("petition_justice.txt","a+"); 
    			fputs ($ouverture_fichier, $_POST['nom'] .';'. $_POST['prenom'] .';'. $_POST['adresse'] .';'. $_POST['codePostal'] .';'. $_POST['ville'] .';'. $_POST['email'] .';'.$date."\n");
    			fclose ($ouverture_fichier);
    Le compteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    // lecture du fichier et stockage dans un tableau			
    			// chaque ligne du fichier est dans une case du tableau
    				$lignes = file("petition_justice.txt"); 
    			// affichage des renseignements
    				echo "<table border=1>";
    			// traitement de chaque ligne 
    			    for ($i=0; $i<count($lignes); $i++) 
    				{
    			// Affichage des titres dans les colonnes	
    				echo "<tr><td>Numéro<td><td>Date<td><td>Prénom<td><td>Nom<td><tr>";
    			// nouvelle ligne
    				echo "<tr><td>".($i+1)."</td>";				
    			// éclatement en éléments distincts
    				$personne=explode(";",$lignes[$i]); 
    			// pour chaque colonne
    				for($j = 0; $j < count($personne); $j++)
    				{				
    			// nouvelle colonne
    				echo "<td>" . $personne[$j] . "</td>";
    				}
    			// fin de ligne
    				echo "</tr>";
    				}
    				echo "</table>";
    				}
    Par contre, je ne vois vraiment pas comment faire pour que la boucle ne traite pas les données confidentielles.

  8. #8
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Bah je sais pas, est ce que les données confidentielles sont toujours dans la meme colonne ou pas? Si oui il suffit que tu définisses un tableau avant qui correspond aux colonnes à ne pas traiter. Et dans ta boucle qui traite les colonnes tu vérifies d'abord si la colonne doit etre affichée ou pas.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 58
    Points : 40
    Points
    40
    Par défaut
    Voilà pour ceux que cela intéresse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    // Affichage des titres dans les colonnes	
    				echo "<tr><td>Numéro</td><td>Date</td><td>Prénom</td><td>Nom</td><td>Ville</td></tr>";
    			// traitement de chaque ligne 
    			    for ($i=0; $i<count($lignes); $i++) 
    				{
    			// nouvelle ligne avec un compteur au début
    				echo "<tr><td>".($i+1)."</td>";				
    			// éclatement en éléments distincts
    				$personne=explode(";",$lignes[$i]); 
    			// nouvelle colonne pour les données publiques à renvoyer
    				echo "<td>".$personne[6]."</td>";
    				echo "<td>".$personne[0]."</td>";
    				echo "<td>".$personne[1]."</td>";
    				echo "<td>".$personne[4]."</td>";
    				}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Perl/Tk] [Arabe] Afficher le contenu d'un fichier dans un widget Text
    Par rimenis dans le forum Interfaces Graphiques
    Réponses: 7
    Dernier message: 06/11/2013, 09h22
  2. afficher le contenu d'un fichier dans une interface
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 16/11/2008, 12h08
  3. Réponses: 7
    Dernier message: 11/01/2008, 00h11
  4. Réponses: 4
    Dernier message: 26/01/2006, 14h37
  5. Réponses: 2
    Dernier message: 20/11/2005, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo