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 :

array(1,2..) de CSV en tableau a 3 colonnes


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Décembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut array(1,2..) de CSV en tableau a 3 colonnes
    Bonjour
    j'ai essayer d'exploiter les données d'un fichier .CSV dans tableau en php , AVEC 3 COLONNE, en utilisant le programme ci-dessous, mais celui là ne me crée que une seule colonne
    quelqu'un peut m'aide svp
    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
    28
    29
    <?php
     
    $fichier = "maiz.csv"; 
     
    echo "<table>"; 
    $fic = fopen($fichier, 'rb');
    $nb_lignes=0;       //Init du nombre de lignes
    $tab_lignes=array(1,2,3,4,5,6); //Gestion des lignes dans un tableau
    $tab_colonnes=array(1); //Gestion des colonnes dans un tableau
     
    for ($ligne = fgetcsv($fic, 1024, ";"); !feof($fic); $ligne = fgetcsv($fic, 1024, ";")) { 
     
        if(in_array($nb_lignes,$tab_lignes)){
            echo '<tr valign="top" style="border:none;">';
            $j = sizeof($ligne); 
            for ($i = 0; $i < $j; $i++) { 
                if(in_array($i,$tab_colonnes)){
     
      echo '<td style="border:none;"><center><a href="'.$ligne['1'].'" target="_blank" rel="noopener"><img src='.$ligne['5'].'><b>'.$ligne['2'].'</b><br>'.$ligne['8'].'€</a></center></td>';           
    }
            } 
            echo "</tr>"; 
        }
        $nb_lignes++;
     
    } 
    echo "</table>\n"; 
     
    ?>
    Ce que je veux

    c'est créer avec des lignes précises (array(1,2,3,4,5,6)) de CSV un tableau à 3 colonnes
    c'est a dire :
    1 2 3
    4 5 6

    Ce que j'obtiens actuellement c'est
    une seule colonne

    1
    2
    3
    4
    5
    6
      0  0

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Tu veux créer un tableau HTML avec 3 enregistrements (lignes) de ton CSV par ligne ?
      0  0

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 694
    Points
    6 694
    Par défaut
    Ce n'est pas clair, poste les deux premières lignes de ton fichier CSV et le code html correspondant que tu veux obtenir avec.
      0  0

  4. #4
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Décembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie de m'avoir répondu
    Ce que je veux c'est crée à partir d'un fichier csv un tableau HTML a plusieurs colonnes
    Pas exploiter toutes les lignes du fichier.csv mais certaines lignes que je choisis
    Ce que j'ai actuellement il m'affiche le tableau avec une seule colonne.
    C'est a dire j'ai un tableau a une colonne
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <table>
    <tr>
    <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td>
    </tr>
    </table>
    J'aimerais avoir
     
    <table>
    <tr>
    <td>1</td> <td>2</td> <td>3</td>
    </tr>
    <tr>
     <td>4</td> <td>5</td> <td>6</td>
    </tr>
    </table>
      0  0

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 694
    Points
    6 694
    Par défaut
    Il va falloir être précis dans les termes que tu utilises car tu mélanges le mot "ligne" avec le mot "colonne", ce qui n'aide pas. En html <tr>...</tr> est une ligne, et <td>...</td> représente une cellule dont la colonne d'appartenance peut être déduite du nombre d'autres <td></td> avant elle sur la même ligne.

    Donc je réitère ma demande: montre nous 2 lignes de ton csv (brut) et le html souhaité correspondant.
      0  0

  6. #6
    Candidat au Club
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Décembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Décembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui excuse moi, j'ai pas fait attention dans ma dernière réponse, ce que j'ai actuellement c'est ça
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <table>
    <tr><td>1</td></tr>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
    <tr><td>4</td></tr>
    <tr><td>5</td></tr>
    <tr><td>6</td></tr>
    </table>
    Et ce que je veux c'est :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <table>
    <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    </tr>
    <tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    </tr>
    </table>
    Et mon fichier .csv est
    Code CSV : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .; .,;.
    1;a;b;c;d.....
    2;a;b;c;d.....
    3;a;b;c;d....
    4;a;b;c;d....
    5;a;b;c;d..
    .....
      0  0

  7. #7
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    Bonjour,

    à mon avis, ce n'est pas une <table> qu'il te faut, mais une flexbox.

      1  1

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    Mets ton CSV dans un tableau PHP
    Ensuite tu pourras faire array_chunk($data, 3) pour obtenir des tableaux de 3 éléments
    Avec 2 foreach() imbriqués tu pourras créée un tableau HTML de x lignes et 3 colonnes

    Et oui, peut-être qu'un élément flex ou grid serait plus approprié pour présenter ta data, et du coup array_chunk() ne serait même plus nécessaire.
      0  0

  9. #9
    Inactif  
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2021
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2021
    Messages : 645
    Points : 1 280
    Points
    1 280
    Par défaut
    A l'affichage de la <table>, on peut utiliser le modulo pour passer à la ligne : x%3
      0  2

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 255
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 255
    Points : 8 548
    Points
    8 548
    Billets dans le blog
    17
    Par défaut
    C'est bien plus élégant avec array_chunk() ou une grid CSS
      2  0

  11. #11
    Membre confirmé
    Homme Profil pro
    OoW
    Inscrit en
    Juin 2019
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Ukraine

    Informations professionnelles :
    Activité : OoW

    Informations forums :
    Inscription : Juin 2019
    Messages : 140
    Points : 498
    Points
    498
    Par défaut
    \ô/
    houlà !!
    Citation Envoyé par jreaux62
    N.B. En l'occurrence, il s'agit de MON tuto "affichage de données dans un tableau HTML" !
    c'est pas l'humilité qui va t'étouffer ... bonnes fêtes quand même !
      3  1

Discussions similaires

  1. csv dans tableau
    Par sverdo dans le forum Tkinter
    Réponses: 2
    Dernier message: 11/02/2010, 16h21
  2. Csv vers tableau
    Par blyonnet dans le forum VBScript
    Réponses: 3
    Dernier message: 02/02/2010, 11h14
  3. [PHP 5.0] [array] afficher les valeurs d'un tableau à plusieurs éléments
    Par mdr_cedrick dans le forum Langage
    Réponses: 1
    Dernier message: 25/02/2009, 10h33
  4. Réponses: 4
    Dernier message: 21/01/2009, 14h45
  5. Conversion d'un tableau .csv en tableau perl
    Par roulia_rousset dans le forum Modules
    Réponses: 13
    Dernier message: 12/03/2008, 15h21

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