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] suppression colonne tableau 2 Dimensions


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut [Tableaux] suppression colonne tableau 2 Dimensions
    Bonjour, j'utilise des fichiers .csv pour inserer des données issues de feuilles excel dans une base sql
    Le probleme est que lorsque je transforme mon fichier excel .xls en .csv ,il me met dans mon fichier .csv un ";" a la fin du tableau.
    Je cherche comment suprimer ce dernier caractere
    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     while($tab[]=fgetcsv($fichier,1024,";"));
    Si je souhaite ne pas avoir ce dernier caractere c'est pour ne pas avoir une colonne vide a la fin de mon tableau
    Ou alors dites moi comment supprimer une colonne d'un tableau
    Merci

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    ca te fait une colonne vide a la fin du tableau ?

    enlevera la derniere colonne

  3. #3
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    justement je ne vaux pas de colonne a la fin du tableau, je cherche a supprimer la derniere colonne

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    ca te fait une colonne vide a la fin du tableau ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while($t=fgetcsv($fichier,1024,";")) {
    array_pop($t);
    $tab[]=$t;
    }
    enlevera la derniere colonne

  5. #5
    Membre chevronné
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Points : 1 790
    Points
    1 790
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        $chaine = "coco;kiki;cucu;juju;lili;";
        echo substr($chaine, 0, strlen($chaine)-1);
    imprime

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coco;kiki;cucu;juju;lili

  6. #6
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    (désolé pour le doublon, j'étais en train d'editer mon message quand tu as répondu, apparement, ca poste en nouveau message... du coup j'ose plus editer le précédent ;o)

  7. #7
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    Merci mais ca ne fonctionne pas ca insere toujours une colonne a la fin

    Code :
    while($t=fgetcsv($fichier,1024,";")) {array_pop($t);$tab[]=$t;}


    Pour ce qui est du substr ca ne marche pas

  8. #8
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par flydragon
    Merci mais ca ne fonctionne pas ca insere toujours une colonne a la fin

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while($t=fgetcsv($fichier,1024,";")) {array_pop($t);$tab[]=$t;}

    Pour ce qui est du substr ca ne marche pas

  9. #9
    Membre chevronné
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Points : 1 790
    Points
    1 790
    Par défaut
    Le substr devrait intervenir dans ta fonction
    fgetcsv

  10. #10
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    non substr ne peut pas fonctionner etant donner que la fonction fgetcsv retourne les valeurs sous forme de tableau et non de chaine de caratere
    fgetcsv ne retourne pas de chaine de caractere,

    [FONT=Courier New]array[/FONT] fgetcsv ( resource handle , int length , string delimiter , string enclosure )
    fgetcsv est identique à fgets mais fgetcsv analyse la ligne qu'il lit et recherche les champs CSV, qu'il va retourner dans un tableau les contenant. Le délimiteur de champs delimiter est la virgule, à moins que vous ne fournissiez un troisième argument.

  11. #11
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Utilise fgets alors

  12. #12
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    je ne veux pas utiliser de fgets alors que j'ai une solution toute faite avec fgetcsv

  13. #13
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Si ca ne marche pas, debug...

    fait un var_dump($t) dans le while pour voir exactement ce qu'il y a dans ton tableau, et ce qu'il faut faire pour le transformer de telle maniere a avoir ce que tu souhaites.

  14. #14
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    L'avantage de fgets est que tu es plus libre, d'autant plus qu'il n'y a juste qu'une ligne de code en plus à ajouter.

  15. #15
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    oui je vois le resultat, mais bon ca ne m'avance pas beaucoup.
    Pourriez vous juste me dire comment supprimer une colonne de mon tableau et le tour est joué

  16. #16
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    J'ai une solution (un peu bourrin quand même):
    <?php
    unset($tab&#91;(sizeof($tab)-1)]);
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

  17. #17
    Membre du Club Avatar de flydragon
    Inscrit en
    Février 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 121
    Points : 57
    Points
    57
    Par défaut
    c preque ca sauf que la ton code sert a supprimer une ligne et non pas une colonne

  18. #18
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    non sa sert à effacer une colonne si tu récupère ligne par ligne.

  19. #19
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Utilise plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_splice($tab,1,-1)
    Cela effacera la dernière colonne et recréera le tableau pour eviter les erreurs d'indexage contrairement à unset.

  20. #20
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    ton tableau est un tableau 2D, c'est un tableau qui contient un tableau.

    C'est pour ca que je suppose que ce que tu appelle "colonne", c'est en fait la suite de tout les dernieres colonnes de chaque retour de fgetcsv.

    En principe, le code que je t'ai donné précédemment (avec le array_pop()) avait pour vocation de supprimer la derniere colonne du résultat intermediaire (retour de fgetcsv) avant de l'ajouter dans $tab... Je trouve donc étrange que tu dise que ca ne fonctionne pas... A moins que je n'ai pas compris ce que tu appellais "colonne", mais il faut dire que tu n'a jamais donné d'exemple clair...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2008, 16h45
  2. [Tableaux] Afficher un tableau à deux dimension
    Par Space Cowboy dans le forum Langage
    Réponses: 4
    Dernier message: 05/07/2007, 09h36
  3. Réponses: 9
    Dernier message: 26/04/2007, 15h17
  4. [Tableaux] Array_unique et tableau 2 dimensions
    Par rdams dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2006, 09h35
  5. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27

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