chargement d'un fichier txt dans la bd

Eléphant du PHP | 86 Messages

02 nov. 2010, 11:42

Après de nombreuses recherches j'arrive à faire le chargement des données de la base de données cependant j'ai un hic.Le problème est que quand je charge il m'insère un 0 qui se trouve pas dans le fichier :shock: :shock: :shock:
voici le code
[php]
<form action= "prechargement.php" method="post" enctype="multipart/form-data">
<fieldset style="width:600px">
<legend><b><h6>Précharger white liste</h6></b></legend>
<table width="80%" class="centre_tab2">

<tr><td align="right"><label for="services">Liste des services:</label></td>
       <td><select name="SdsERgfgfg" id="services">
           <option value="club20">CLUthj0</option>
           <option value="yabusiness">YlmlmjhESS</option>
           <option value="internetmobil">cddd</option>
           <option value="familleami">FAjkgkhkjMILLE AhjkMIS</option>
		   <option value="nexs">jkghkjk</option>
           <option value="pharmacies">PHfkjkARMghkgkACIfkES</option>
       </select></td></tr> 
	  		
		<tr><td align="right">Nom du Fichier</td>
                <td><input type="file" name="fichier" size="40" id="fichier" /></td>
                <td><input name="submit" type="submit" value="Charger" /></td></tr>
		
</table>
</fieldset>
</form>

<?php
ini_set('display_errors','1');
//Inclusion de la classe mère
include ("SGBD.class.php");
/* Initialisation de la variable du SGBD correspondant */
$SQL = "MySQL"; 
 // Inclusion de la classe fille du SGBD correspondant
include ($SQL.".SGBD.class.php");
/* Création d'un nouvel objet de la classe fille + lancement du constructeur */
$database = new $SQL('root', '', 'localhost', 'dbprojet');
// Connection à la base de données
$database->connect();

if( isset($_FILES['fichier']))
{
	$nom=$_FILES['fichier']['name'];
    $extensions_valides= array('xlsx' , 'txt' , 'xls','csv' );
	$extension_upload = strtolower(  substr(  strrchr($_FILES['fichier']['name'], '.')  ,1)  );
	if( in_array( $extension_upload, $extensions_valides ))
	{
		echo 'extension valide';
		$ser = $_POST['SERVICES'];
		echo "$ser";
		echo "$nom";
		
   $open=fopen($nom,'r');
    while (!feof($open))
       {
       $get=fgets($open,4096);
       $slashed=addslashes($get);
       $str=trim($slashed);
       $ligne=explode ("\n",$str);
       $numero=$ligne[0];
       $database->requete("INSERT WHITE_LISTE VALUES('','$numero','$ser')");
	  
       }
       fclose($open);
       print '<h5 color="red">Importation terminée</h5>';
    

}else
	{
      echo 'extension non valide'; 
	}

}

?>
[/php]

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 nov. 2010, 12:41

Affiche la requête SQL que tu exécutes, et dit nous où est ce zéro, quelle colonne (avec la structure de la table), là c'est un peu vague.

Eléphant du PHP | 86 Messages

02 nov. 2010, 13:08

       $database->requete("INSERT WHITE_LISTE VALUES('','$numero','$ser')"); 
la requete
le zéro est au niveau de numero

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 nov. 2010, 13:34

Non ça on l'avait déjà, il nous faut le SQL généré : sql-bases-donnees/php-sql-etapes-suivre ... 19378.html

Est-ce que tu as seulement un zéro ou un zéro puis ton contenu ? Si c'est en plus de ton contenu, mets des echo de debug pour voir où il apparaît, autour de tes différents traitements (addslahes etc)