Pb importation .csv vers mysql via php
                    
        
     
             
                    laetiheu
    
        
    
                    Messages postés
            
                
     
             
            2
        
            
                                    Statut
            Membre
                    
                -
                                     
gewix -
        gewix -
        Voilà la situation : je dois faire une interface via php qui permet de faire un import d'un fichier .csv vers une base de donnée mysql deja existante et remplie... J'ai trouvé ce code 
Il ne me met pas d'erreur, mais il ne fait rien!! pas d'erreur, il remet la page php mais n'importe rien dans la base de donnée (la table est deja créer dans la bae de donnée)
Merci d'avance pour votre aide...
Laeti
PS : Je suis une débutante en php/mysql...
                
            
                
    
    
    
        
<html> 
<body> 
<font face="verdana"><h4 align="center">Importer un fichier .csv dans la base de donnée</h4></font>
 
<?
 switch($action) {
   case "ajouter":
   $bdd = "contacts";
   $host= "localhost";
   $user= "root";
   $pass= "";
   $table= "import"
  
mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données"); 
mysql_select_db($bdd); 
 
 $fichier = $_FILES['fichier']['name'];
if (file_exists($fichier))
  {
  $fp = fopen($fichier['tmp_name'], 'r'); 
  if( $fichier == false )
    {
    echo "Impossible d’ouvrir le fichier");
    }
  }
else
  {
  echo "Fichier introuvable !<br>Importation stoppée.";
  die("Erreur...");
  }
    while (!feof($fp))
    {
       $ligne = fgets($fp,4096);
       $liste = explode( ";",$ligne);
	   
       $numeroImport = $liste[0];
	   echo '<pre>';
	   print_r($liste[0]);
	   echo '</pre>';
	   
       $datemisejourImport = $liste[1]; 
	   echo '<pre>';
	   print_r($liste[1]);
	   echo '</pre>';
       $datearchivageImport = $liste[2]; 
	   echo '<pre>';
	   print_r($liste[2]);
	   echo '</pre>';
	   
       $pacImport =  $liste[3]; 
	   echo '<pre>';
	   print_r($liste[3]);
	   echo '</pre>';
	   
       $clientImport =  $liste[4]; 
	   echo '<pre>';
	   print_r($liste[4]);
	   echo '</pre>';
	   
	   $societeImport =  $liste[5]; 
	   echo '<pre>';
	   print_r($liste[5]);
	   echo '</pre>';
	   
       $brancheImport =  $liste[6];  
	   echo '<pre>';
	   print_r($liste[6]);
	   echo '</pre>';
	   
       $populationImport =  $liste[7];  
	   echo '<pre>';
	   print_r($liste[7]);
	   echo '</pre>';
	   
       $nomImport =  $liste[8]; 
	   echo '<pre>';
	   print_r($liste[8]);
	   echo '</pre>';
	   
       $prenomImport =  $liste[9];  
	   echo '<pre>';
	   print_r($liste[9]);
	   echo '</pre>';
	   
       $emailImport =  $liste[10];  
	   echo '<pre>';
	   print_r($liste[10]);
	   echo '</pre>';
	   
       $datedebutImport =  $liste[11];  
	   echo '<pre>';
	   print_r($liste[11]);
	   echo '</pre>';
	   
	   $datefinImport =  $liste[12];
	   echo '<pre>';
	   print_r($liste[12]);
	   echo '</pre>';
       $telephoneImport =  $liste[13];
	   echo '<pre>';
	   print_r($liste[13]);
	   echo '</pre>'; 
       $query = "INSERT INTO import VALUES('$numeroImport','$datemisejourImport','$datearchivageImport','$pacImport','$clientImport','$societeImport','$brancheImport','$populationImport','$nomImport','$prenomImport','$emailImport','$datedebutImport','$datefinImport','$telephoneImport')"; 
       $result= mysql_query($query); 
  
       if(mysql_error())
        {
           print "Erreur dans la base de données : ".mysql_error();
           print "<br>Importation stoppée.";
           exit();
        } 
     echo "<br>Importation terminée, avec succès."; 
     fclose($fp); 
     mysql_close(); 
   break;
   default: 
   ?>
<font face="verdana">
<form name='form1' method='post' action="" enctype='multipart/form-data'>
     <table border="0" cellspacing="0" cellpadding="3" align="center">
      <tr>
       <td>Fichier :</td> 
       <td> <input type="file" name="fichier"> </td> 
      </tr>
      <tr>
        <td></td>  
       <td> <input type="submit" name="submit" value="Importer"> </td> 
      </tr>
	  <tr><td>
<a href=
     </table>
     <input type="hidden" name="action" value="ajouter"> 
    </form> </font>
</body> 
</html>
<?   break;   
   }
?>
Il ne me met pas d'erreur, mais il ne fait rien!! pas d'erreur, il remet la page php mais n'importe rien dans la base de donnée (la table est deja créer dans la bae de donnée)
Merci d'avance pour votre aide...
Laeti
PS : Je suis une débutante en php/mysql...
        A voir également:         
- Pb importation .csv vers mysql via php
- Easy php - Télécharger - Divers Web & Internet
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Mysql community server - Télécharger - Bases de données
- Vers quelle adresse web renvoie ce lien - Guide
 
    
    
    
    
attention il faut que les colonnes de l'entete du fichier csv aient les memes nom que les chapms de la table(si vous ne voulez pas faire avec cette méthode vous pouvez modifier le code)
if($fp = fopen("$content_dir"."$name_file", 'r')) //$content_dir est le nom du repertoire contenant le fichier et $name_file est le nom du fichier à uploader { $cpt_import=0; $ARRAY[0]=fgetcsv($fp,2000,";"); // saute la 1ere ligne $DATA[]=$ARRAY[0]; $nbre_ligne=0; switch($i2) { case "0": // Ajouter les données a la table case "": while(!feof($fp)) { $ARRAY[0]=fgetcsv($fp,0,";"); // lire ligne par ligne $width=sizeof($ARRAY[0]); if ($ARRAY[0][0]!="") // si ligne pas vide { $query="insert into concours_admis ("; for($j=0;$j<$width;$j++) { $query .= "{$DATA[0][$j]}"; if ($j != $width-1) $query .= ", "; } $query .= ") values ("; // creation 2e partie INSERT for($j=0;$j<$width;$j++) { if ( $ARRAY[0][$j] == "" ) $xls =""; else $xls=htmlspecialchars($ARRAY[0][$j], ENT_QUOTES); $pos=str_pad("c", strlen($j) + 1, $j, STR_PAD_RIGHT); if ($pos=="1") { $jj=substr($xls,0,2); $mm=substr($xls,3,2); $aaaa=substr($xls,6,4); $xls="$aaaa-$mm-$jj"; } $query .= "'$xls'"; if ($j != $width-1) $query .= ", "; } $query .=")"; // ferme l'insertion $resul=mysql_query($query); if (!$resul) $html.= "$query<br>Ajout impossible <br>"; $nbre_ligne++; $cpt_import++; } } break; } }Question concernant un switch de $i2: il n'est déclaré nul part?