cs_daris
Messages postés49Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention17 février 2009
-
26 oct. 2007 à 08:45
cs_daris
Messages postés49Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention17 février 2009
-
29 oct. 2007 à 14:43
Bonjour à tous!
J'ai un souci, aufait je recupere via un formulaire html un fichier csv de 5 colonnes sépareés par des virgule.
Le téléchargement du fichier se passe bien.J'ai mis en place la
function ajouter_matrice() qui me permet de recuperer les données du
fichier csv telechargées.
Je recupere toutes les données du fichier dans un tableau $les_var.
J'ai du mal à partir de $les_var à recuperer les données d'une ligne du fichier csv pour inserer ensuite dans ma base.
Merci à ceux qui peuvent m'aider
Voila la partie du code concernée:
<ol><li class="ligne_off"><?php</li><li class="ligne_off">functionajouter_matrice($file){ </li><li class="ligne_off"> $les_var=array(); </li><li class="ligne_off"> $row=1;// initialisation de la 1ère ligne</li><li class="ligne_off"> $fp=fopen($file,"r");// ouverture du fichier en lecture seule</li><li class="ligne_off"> while($data=fgetcsv($fp,1000,";"))// 1 ligne = au maximum 1000 car. avec séparateur = ;</li><li class="ligne_off"> { </li><li class="ligne_off"> $num=count($data); </li><li class="ligne_off"> print" Insertion de la ligne n°".$row." du fichier csv : \n"; </li><li class="ligne_off"> $row++; </li><li class="ligne_off"> for($i=0;$i<$num;$i++){ </li><li class="ligne_off"> list($no_site,$no_band,$distance,$taille,$intensite)=explode(",",$data[$i]); </li><li class="ligne_off"> array_push($les_var,$no_site,$no_band,$distance,$taille,$intensite); </li><li class="ligne_off"> } </li><li class="ligne_off"> } </li><li class="ligne_off"> return$les_var; </li><li class="ligne_off"> } </li><li class="ligne_off"> </li><li class="ligne_off"> /*######################################################################*/ </li><li class="ligne_off"> </li><li class="ligne_off"> //TEST PUIS APPEL DE LA FUNCTION ajouter_matrice()</li><li class="ligne_off"> if(($uploadfile)!=($uploaddir)){ </li><li class="ligne_off"> $les_var= ajouter_matrice($uploadfile); </li><li class="ligne_off"> //print_r($les_var);</li><li class="ligne_off"> </li><li class="ligne_off"> $petit_tableau=array_chunk($les_var,5); </li><li class="ligne_off"> echo"Le nombre de petit tableau est:".count($petit_tableau)."\n"; </li><li class="ligne_off"> print_r($petit_tableau)."
"; </li><li class="ligne_off"> // for($i;$i<count($petit_tableau);$i++){</li><li class="ligne_off"> echo$no_site=$petit_tableau[0]; </li><li class="ligne_off"> //}</li><li class="ligne_off"> </li><li class="ligne_off"> list($no_site,$no_band,$distance,$taille,$intensite)=$les_var[$petit_tableau]; </li><li class="ligne_off"> echo$no_site.'/'.$no_band.'/'.$distance.'/'.$taille.'/'.$intensite; </li><li class="ligne_off"> </li><li class="ligne_off"> </li><li class="ligne_off"> }else{ </li><li class="ligne_off"> echo"Spécifier un fichier !"; </li><li class="ligne_off"> } </li><li class="ligne_off">?>
</li></ol>
cs_daris
Messages postés49Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention17 février 2009 29 oct. 2007 à 14:43
Hello,
Tu as bien raison mais j'y avais pas pensée . Merci.
Voila comment j'ai fais:
$uploaddir = 'repertoire de stockage sur le serveur/';
$uploadfile = $uploaddir . basename($_FILES['nom provenant du formulaire']['name']);
if (move_uploaded_file($_FILES['nom provenant du formulaire']['tmp_name'], $uploadfile)) {
echo "Le fichier est valide, et a été téléchargé avec succès.\n";
}
else{
echo "Echec telechargement:\n";
}
$row = 1; // initialisation de la 1ère ligne du fichier uploadé
$fp = fopen ($uploadfile,"r"); // ouverture du fichier en lecture seule while ($data fgetcsv ($fp, 1000, ";")) // 1 ligne au maximum 1000 car. avec séparateur = ;
{
$num = count ($data);
for ($i=0; $i < $num; $i++){
list($A, $B, $C, $D,$E) = explode(",", $data[$i]);
//REQUETE D'INSERTION
$sql1 =" insert into ma_table (A,B,C,D,E) values($A, $B, $C, $D,$E)";
if ( $conn->Execute($sql1) === false) {
echo "Echec d'insertion";
}else{
echo"Insertion de la matrice reussie !";
}
}
$row++;
}