fgetcsv et INSER INTO Souple
Bonjour à tous;
J'ai bien bossé le fgetcsv
et je récupère le tout dans des array
le but est bien sur de faire un INSERT INTO, donc avec SET id = :id, Nom = :Nom, etc
mais le problème c'est que les csv ont
- Un nombre de colonnes différents
- Des noms de colonnes différents
alors le nombre de SET va changer.
J'ai fait ca
- Lire le csv
Code:
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
OK
Mais les arrays sont de la forme [0] => 1, [1] => Le nom etc...
Et pour le array de execute() il aurait fallu [id] => 1, [Nom] => Le nom etc...
Alors je tente:
- De récupérer les entetes dans un array
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $arrayName = array();
if ($i==0)
{ // Créer les en tetes
$num = count($data); echo "Num=".$num;
echo "<br/>";
for ($n=0; $n < $num; $n++)
{
//echo $data[$n]."<br/>";
array_push($arrayName,$data[$n]);
}
// print_r($arrayName);
for ($d=0; $d < $num; $d++) {
echo $arrayName[$d].' / ';
}
} |
Ok
Et là il faudrait créer un array des lignes suivantes avec comme entete l'arrayName précédent ?
Qu'en pensez-vous ?
Je pense que je galère bien, en tout cas
:aie: