Merci JT ! Ca me semble pas mal effectivement je ne connaissais pas la fonction array_keys() !
Si j'ai bien compris dans l'ensemble, au lieu d'insérer uniquement les valeurs du champ numéro (et donc avoir une clé auto en incrémentation), tu insères dans un tableau vide les numéros pour en faire la clé et le reste des champs en valeurs !
Par contre je rencontre un autre souci pour l'étape d'après
1 2 3
| foreach (['nom', 'type', 'note'] as $champ) {
$valeur_csv = $csv_data[$champ];
$valeur_db = $db_data->{'get' . ucfirst($champ)}(); // ou getNote(), getNom(), etc |
Si le nom des champs est différent ? par exemple sur le CSV on a "nom" et sur la db on a "name" ?
De plus certains titre de champs et certaines valeurs du CSV on des caractères spéciaux... J'ai regardé via notepad et les CSV sont en ASCII et je dois donc les changer en UTF-8 (si j'ai bien suivit) ! J'ai évidement fait quelques recherche sur internet pour pouvoir convertir ! j'ai pas vraiment trouvé! J'ai testé avec mb_detect_encoding() mais je ne crois pas l'utiliser correctement
exemple :
$date = $record[mb_detect_encoding("Date déposé")];
De plus je crois que ca marche que pour des variable contenant des chaine de caractère, donc si je dois encodé tout un CSV je ne pense pas que ca soit la bonne méthode
Partager