Undefined offset:

Fermé
achraf1996 Messages postés 29 Date d'inscription mardi 14 juillet 2015 Statut Membre Dernière intervention 22 novembre 2016 - Modifié par jordane45 le 22/07/2015 à 12:57
jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 - 22 juil. 2015 à 13:02
Bonjour,
j'essaye de crée un code qui importe des fichier excel .csv dans un base de donne mysql mais avant de le développer j'essaye de afficher les colonne de mon fichier excel mais j'obtiens l'erreur de "Undefined offset:"

voici le contenu de man fichier excel


voicie man code:

<?php
    include('mysql_db_connect.php');
     
    if(isset($_POST['submit']))
    {
        $file = $_FILES['file']['tmp_name'];
        $handle = fopen($file,"r");
     
    while (!feof($handle)) /* Et Hop on importe */
    { /* Tant qu'on n'atteint pas la fin du fichier */
       $ligne = fgets($handle,4096); /* On lit une ligne */ 
 
       /* On récupère les champs séparés par ; dans liste*/
       $liste = explode( ";",$ligne); 
     
       /* On assigne les variables */
       echo $liste[0] . "......." . $liste[1] . "......." . $liste[2] . "<br/>";
      
         
     
    }}
 
?>
<!DOCTYPE html>
<html>
    <head>
        <meta  charset="iso 8859-15 " />
        <title>Title of the document</title>
     
    </head>
    <body>
         
        <form method="post" action="index.php" enctype="multipart/form-data">
            <input type="file" name="file"/>
            <br/>
            <input type="submit" name="submit" value="Submit" />
        </form>
     
             
    </body>
 
</html>


et en fin voici le resultat avec l'ereur


ligne 17 ==>>" echo $liste[0] . "......." . $liste[1] . "......." . $liste[0] . "<br/>";

l'erreur concerne seulement la deuxième colonne et la troisième quand j'affiche la première colonne seulement je n'ai aucune erreur

merci


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

1 réponse

jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 4 704
22 juil. 2015 à 13:02
Bonjour,

Tu dois avoir des lignes vides ... et donc... il ne peut pas les spliter !

Essayes ceci :
    while (!feof($handle))  { /* Tant qu'on n'atteint pas la fin du fichier */
       $ligne = fgets($handle,4096); /* On lit une ligne */ 
 
       /* On récupère les champs séparés par ; dans liste*/
       $liste = explode( ";",$ligne); 
     
       /* On assigne les variables si nombre de colonne >=3*/
       if(count($liste)>=3){
          echo $liste[0] . "......." . $liste[1] . "......." . $liste[2] . "<br/>";
      }else{
          echo " >> Nb colonnes incorrect ! <br/>";
          print_r( $liste );
      }
         
     
    }

0