Bonjour,
J'aurai besoin d'aide ou de pistes pour un problème à priori simple mais je bloque pas mal dessus. (Je suis encore débutant en php/mysql)
Je dois remplir une table de ma base de données sous MySQL en important les données d'un fichier .csv (c'est OK, j'ai réussi) mais avant de faire cet import, il me faut comparer les données de ma première ligne, deuxième, troisième etc ... jusqu'à la fin du fichier csv (qui correspond aux noms des colonnes qu'il doit y avoir dans ma table) avec le nom des colonnes de ma table sous MySQL afin de vérifier que nous avons un bon ordonnancement et que nous mettons les bonnes données aux bons endroits.
Mais voilà je patauge, je n'arrive pas à récupérer une par une les données de ma ligne1, ligne 2, ligne 3 etc ... puis la comparer à la colonne adéquate de ma table.
Voici ce que je voudrais :
J'ai une requête préparée :
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part $bdd -> prepare ('SELECT fld_nom FROM td_tables WHERE fld_nom = ?')
Ce bout de code ne doit sûrement pas marcher mais c'est un exemple de ce que je voudrais ...
EDIT : En fait en me relisant je ne suis pas très clair, en résumé je voudrais comparer seulement une colonne "nom" de mon fichier CSV et la colonne "nom" de ma table SQL.
Code PHP : 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 while($champ = fgetcsv($fic,$taille,$delimiteur)){ $ref_nom = $champ[1]; //ligne de la colonne "nom" du fichier csv $req_compare_csv -> execute([$_POST['table']]); //echo $result['fld_nom']; while ($result = $req_compare_csv->fetch()){ $refdb=$result['fld_nom']; //Si ligne 1 BDD == ligne 1 CSV alors "OK" et on passe à la ligne 2 : Si ligne 2 BDD == ligne 2 CSV alors "OK" etc ... if ($refdb==$ref_nom){ echo "OK"; } else { echo "NOK"; } } } fclose ($fic);
Exemple :
Dans ma table Animal : Colonne Nom_Animal :
Chien, Chat, Lapin,Cheval
Dans mon fichier CSV : Colonne Nom_Animal :
Chien, fourmi, serpent,dauphin
Je veux simplement comparer toutes les lignes avant d'importer mes données, du coup : Chien et Chien "OK", on continue -> Chat et fourmi "NOK" on arrête la lecture et on resélectionne un autre fichier où les noms doivent être identiques à la colonne nom de la table SQL.
(J'espère avoir été assez clair... Sinon n'hésitez pas à me poser des questions !)
Auriez-vous des pistes ? Merci d'avance![]()
Partager