Bonjour à tous,
Je suis entrain d'essayer de charger des données dans Oracle à partir d'un fichier .CSV via PHP,
Voici la fonction qui est chargée de faire la séparation des champs
APrès l'upload du fichier Excel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function split_words($string){ $retour = array(); $delimiteurs = ';'; $tok = strtok($string, ";"); while (strlen(join(" ", $retour)) != strlen($string)) { array_push($retour, $tok); $tok = strtok ($delimiteurs); } return $retour ; }
Je fais une lecture de ce dernier dans un tableau afin d'extraire les elements
VOici quelques bribes du code
Jusque là tout va bien, mais le problème survient quand je fais l'insertion d'une valeur qui contient une virgule (99,97% par exple), dans ce cas il me fait une séparation même au niveau du 99 97%
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 $fichier = "data/".$file_name; $fic = fopen($fichier, 'rb'); for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024)) { $j = sizeof($ligne); for ($i = 0; $i < $j; $i++) { $tb[] = $ligne[$i]; } } $maxi = count($tb); for ($i = 0; $i < $maxi; $i++) { // lister les elts du premier tableau $elts = $tb[$i] ; $tb_decoup = split_words($elts); // decoupage de la chaine $max = count($tb_decoup); if ($file_name == 'fich.csv') { $query_update ="insert into table_teste values('$tb_decoup[0]', '$tb_decoup[1]') "; $stm_upd = ociparse ($connect, $query_update); ociexecute($stm_upd); }
Je débute un peu avec PHP et je n'arrive pas à trouver comment regler ça![]()
Partager