Bonjour Bonjour, étant un amateur de chez amateur en PHP je voulais créer une vue où il est possible à partir de l'upload d'un fichier csv sur le site,
de mettre ce que contient ce dernier dans ma base de donnée. J'ai peut être mal expliqué mais j’espère que vous captez quand meme mes pensées.

Donc niveau html, la vue donne ceci :

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<h2><u>Par CSV</u></h2>
	<br/>
 
	<form enctype="multipart/form-data" action="index.php?action=teacher" method="post">
	<input type="file" size="100" name="addcsv">
	<input type="submit" name="submitcsv" value="Envoyer"  />
	</form>

Et au niveau du controller j'ai ceci comme code fait un peu à l'arrache:
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
$year = date('Y');
			$notification_csv='';
 
			if ($_FILES['addcsv']['error'] > 0) $erreur = "Erreur lors du transfert";
 
 
				$extensions_valides = array( 'csv');
 
				$extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.')  ,1)  );
				if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte, fichier non valide";
 
			if(isset($_POST['submitcsv'])){
				if(is_uploaded_file($_FILES['addcsv']['tmp_name'])){
					echo "Le fichier a bien été upload";
					echo " Contenu :" ;
					readfile($_FILES['addcsv']['tmp_name']);
				}
 
				$handle= fopen($_FILES['addcsv']['tmp_name'],"r");
				while(($line= fgetcsv($handle,1000,";"))!== FALSE){
					$import='INSERT INTO students (`registration_nb`,`name`, `first_name`, `email`, `password`, `year`) VALUES ("'. $line[0] . '",, "'. $line[1] .'", "'. $line[2] .'", "'. $line[3] .'", "'. $line[4] .'", "'. $year.'")';
					mysql_query($import) or die(mysql_error());
				}
				fclose($handle);
				$notification_csv='Ajout fait';
			}
En testant, aucun message d'erreur n'apparait mais cependant je ne trouve pas les données du fichier csv dans ma base de donnée.

Merci et bonne soirée