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 :

[PHP-JS] Undefined offset > Incompréhensible <


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut [PHP-JS] Undefined offset > Incompréhensible <
    Bonjour,

    Je cherche à modifier un script PHP permettant d'importer des données contenues dans un fichier CSV, vers une BD MySQL.

    Le problème est que le fichier d'origine contient une erreur du type : Undefined offset.

    Cela fait une heure voir plus que je cherche la solution et sans succès j'ai essayé de déclarer un tableau $liste = array(); de redefinir les indices du tableau...

    Je pense que le problème vient de la fonction explode du moins de ce que liste récupère.

    Je vous donne le code :

    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
    30
    31
    32
    33
    34
    35
    36
     
    while (!feof($fp))  // On parcours le fichier
    {
        $ligne = fgets($fp,4096);  // On se déplace d'une ligne
     
        $liste = explode($separateur,$ligne);  // Champs séparés par |
    	echo $liste[0];
    	echo $liste[1];
    // ici important
     
        $col1 = $liste[0];
        $col2 = $liste[1];
        $col3 = $liste[2];
        $col4 = $liste[3];
        $col5 = $liste[4];
        $col6 = $liste[5];
     
        if (trim($col1)!= '')                     // si fin fichier
          echo  "<tr>";
     
        echo  "<td>$col1</td>";
        echo  "<td>$col2</td>";
        echo  "<td>$col3</td>";
        echo  "<td>$col4</td>";
        echo  "<td>$col5</td>";
        echo  "<td>$col6</td>";
        echo  "</tr>";
     
     
    // important dans la base SQL
    $query="insert into fichier (col1,col2,col3,col4,col5,col6) ";
    $query.="values ('$col1','$col2','$col3','$col4','$col5','$col6') ";
    $resul=mysql_query($query);
    if (!$resul)  echo "Impossible d'ajouter\n";
     
    }
    En espérant avoir des réponses, merci merci !

    Cordialement

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    A quelle ligne ce situe l'erreur?
    Dans ton fichier CSV tu es bien sur d'avoir 6 colonne (et donc 5 |)?

  3. #3
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Ce sont les lignés 41 à 46, donc ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        $col1 = $liste[0];
        $col2 = $liste[1];
        $col3 = $liste[2];
        $col4 = $liste[3];
        $col5 = $liste[4];
        $col6 = $liste[5];
    Voila pour les lignes !

    Merci pour ta réponses

  4. #4
    Expert éminent sénior

    Avatar de Deepin
    Homme Profil pro
    Ingénieur - Chef de projet Modélisation/Simulation
    Inscrit en
    Avril 2004
    Messages
    3 164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Ingénieur - Chef de projet Modélisation/Simulation
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 164
    Points : 51 026
    Points
    51 026
    Par défaut
    Salut,
    pour ce qui du traitement des fichiers csv tu as une fonction assez sympa fgetcsv(). je te conseille de regarder par ici ya des exemples nickel : http://us.php.net/manual/en/function.fgetcsv.php
    ++ et bon courage

Discussions similaires

  1. Erreur php : "Notice: Undefined offset: 1"
    Par bobette16 dans le forum Langage
    Réponses: 3
    Dernier message: 08/04/2013, 10h44
  2. [MySQL] Erreur de programmation PHP & MySQL (Notice: Undefined offset: 890)
    Par petit.quent dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 29/12/2011, 15h38
  3. [MySQL] Problème message PHP / Undefined offset
    Par lemzo84 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/11/2011, 14h40
  4. undefined offset en php
    Par zabdaniel dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2008, 11h10

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