Bonjour,
Je suis entrain d'écrire un petit script qui ne me semblait pas compliqué mais la je suis tombé sur un bel os...
En fait je dois traiter un fichier csv pour importer une liste d'élèves dans une base de données. J'ai donc commencé par lire le fichier csv, jusque la pas de soucis, je retrouve mes petits.
Juste après, je fais une requête grâce à PDO. Vient ensuite l'étape ou je dis au script de vérifier si la donnée du csv est égale à la donnée du select de la base de donnée pour faire des actions sur la base ou non.
Du coup quand la condition est vraie j'ai bien accès aux variables de données du csv et je rentre dans le if, en revanche quand la condition est fausse je ne rentre pas dans le else et il ne m'affiche pas la variable de données du csv comme si elle n'existait pas.
Également dans le bloc de code ligne 4 à 8 le message ne s'affiche que lorsque la condition est vrai sinon rien ne s'affiche.
Quelqu'un aurait une petite idée sur ce qui bloque ?
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 $requete = $bdd->query("SELECT ID FROM eleves WHERE ID = $donneeCsv[$numEleve]"); while($donneeSelect = $requete->fetch()){ if(isset($donneeCsv[$numEleve])){ echo "OK - "; }else{ echo "KO - "; } if( $donneeCsv[$numEleve] == $donneeSelect['ID'] ){ print "<strong class=\"elevePresentEnBase\">" . $donneeCsv[$nomEleve] . " " . $donneeCsv[$prenomEleve] . " ==> Cet élève existe déjà dans la base de données</strong>"; } else{ echo "on passe dans le else"; $insertionDonnees = $bdd->prepare('INSERT INTO eleves(ID, nom, prenom, dob, classe) VALUES(:id, :nom, :prenom, :DoB, :classe)'); $insertionDonnees->execute(array( 'id' => $donneeCsv[$numEleve], 'nom' => $donneeCsv[$nomEleve], 'prenom' => $donneeCsv[$prenomEleve], 'DoB' => $donneeCsv[$naissanceEleve], 'classe' => $donneeCsv[$classeEleve] )); echo "<strong class=\"eleveAbsentEnBase\">" . $donneeCsv[$nomEleve] . " " . $donneeCsv[$prenomEleve] . " ==> Cet élève à été ajouté à la base de données</strong>"; }
Merci d'avance pour votre aide.
Partager