Je peux pas le modifier je travaille sur intranet.
Mais comment faut que je le declare mon tableau?
Merci
Version imprimable
Je peux pas le modifier je travaille sur intranet.
Mais comment faut que je le declare mon tableau?
Merci
oui car là tu nous condamne à voir les erreurs évidentes au petit bonheur la chance... on est pas des compilateurs...:mouarf:
Code:$tableau=array();
D'accord merci beaucoup. Alors voila mes erreurs:
Notice: Undefined variable: fichier in /var/www/intranet/logistique/BD EPI/inserépersonne_base.php on line 7
Notice: Undefined variable: tableau in /var/www/intranet/logistique/BD EPI/inserépersonne_base.php on line 12
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php ini_set('display_errors', 1); error_reporting(-1); $handle = fopen("pers.csv", "r"); echo "<table>"; while ($ligne = fgetcsv($handle, filesize($fichier), ";")){ echo"<tr>"; $nbcol = count($ligne); for($i=0; $i<$nbcol; $i++) { echo"<td>".$tableau[$i]."<td>"; } echo"</tr>"; } echo"</table>"; //fclose($handle); ?>
mais
pourquoi avoir mis $tableau ?
pourquoi avoir mis un filesize ?
J'ai pris un exemple, car je sais pas du tout comment ca marche désolée
dans l'exemple y'a ni $tableau, ni de filesize
donc
change le séparateur si c'est pas un ;Code:
1
2
3
4
5
6
7
8
9
10
11
12 $handle = fopen("pers.csv", "r"); echo "<table>"; while ($ligne = fgetcsv($handle, 0, ";")){ echo"<tr>"; foreach($ligne as $data) { echo"<td>".$data."<td>"; } echo"</tr>"; } echo"</table>"; fclose($handle);
Peux tu m'expliquer pourquoi tu as mis 0 et $data?
Merci
pour toi $tableau, c'est $ligne à la place... et $fichier c'est "pers.csv"
faudrait peut-être que tu potasse les tutoriels de base sur php...
car là tu pompes du code que tu comprends pas vraiment (pour ne pas dire du tout) car tu manque de quelques bases minimales...
d'où le fait que tu ne vois pas certains problèmes évidents...
:ccool:
je cherche juste à comprendre comment marche cette fonction c'est tout. Je connait pas tout en php c'est tout. Merci de votre aide quand même.
Ca marche merçi. Maintenant faut que j'insére ca dans ma base de données.
Quelqu'un pourrait juste m'expliquer comment faire sa s'il vous plait?Merci
le foreach te fait l'affichage
il va falloir maintenant déterminer quelles colonnes de ton csv vont être à insérer dans table
et construire la requête en fonction de celà
au début de ton code php tu devra mettre le code php pour faire la connexion à ta base de donnée, selectionner la bd (mysql_connect, mysql_db_select)
utilise pour l'instant l'extension mysql de php pour voir la documentation
et dans cette partie du forum plein de gens pose des question sur ça donc tu auras plein d'exemple
l'exécution de la requête nécessitera mysql_query
vu que tu es encore ultra débutante, tu devras ensuite remplacer la connexion et le reste par leur équivalent utilisant mysqli ou pdo comme extension...
je te laisse faire quelques recherches
ponds moi les 2 lignes de code pour gérer la connexion et la sélection...
prendre du code que tu comprends pas sert à rien et est générateur de plus d'emmerdes que de solution...
en informatique, le par cœur sers à rien, il faut:
comprendre le problème
savoir chercher rapidement un truc dans la doc pour y répondre techniquement
tu ne pourras jamais tout connaitre... le but c'est d'être efficace en terme de recherche pour savoir ce qui est faisable ou pas... l'expérience te servant juste à aller plus vite soit dans les recherches soit dans le fait de ne pas avoir à chercher...
alors cherche, propose ton code et on te corrigera ;)
mais si on fait le truc à ta place ça ne servira à rien et surtout pas à toi... surtout si tu dois devenir pro :ccool:
Merci beaucoup Eric de ton aide. Mais je demande pas qu'on me le fasse t'inquiète pas juste qu'on me guide un peu. Mais dans mon SELECT comment je dit que je veux sélectionner les fichiers de mon csv?
J'ai attaqué à faire ca
Code:
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
27
28
29
30
31 <?php require_once('connexion.php'); //ini_set('display_errors', 1); //error_reporting(-1); $handle = fopen("pers.csv", "r"); echo "<table>"; while ($ligne = fgetcsv($handle,";")){ $nom = $data[0]; $prenom = $data[1]; $datenaissance = $data[2]; $matricule = $data[3]; $centre = $data[4]; mysql_select_db($database, $equip); $requete = "INSERT INTO SAPEURS (MATRICULESP,NOMSP,PRENOMSP,DATERECRUTEMENTSP,NUMCS) VALUES ('$matricule', '$nom', '$prenom', '$datenaissance', '$centre')"; mysql_query($requete); echo"<tr>"; $nbcol = count($ligne); for($i=0; $i<$nbcol; $i++) { echo"<td>".$ligne[$i]."<td>"; } echo"</tr>"; } echo"</table>"; fclose($handle); ?>
y a de l'idée mais qu'est ce que fout mysql_select_db dans ta boucle?
et il manque la connexion...
un vrai algorythme robuste (qui prend en compte les défaillances):
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 connexion bd si bon { selection bd si bon { ouverture fichier si bon { tant que lecture de ligne { extraire les données de la ligne faire insertion dans la bd } fermeture fichier } sinon traitement erreur fichier } sinon traitement erreur sélection bd } sinon traitement erreur connexion bd
ton code doit donc ressembler à ça, en utilisant ce que tu as déjà fait et pas encore
tu peux ne pas implémenter les sinon mais ça te prive de savoir ce qui plante au cas où, mais c'est pas la priorité
ne mets jamais les identifiant et mdp de connexion en clair ici pense bien à mettre des trucs bidon à la place...
Non ma connexion c'est require('connexion.php');
j'avais pas fait gaffe :mrgreen:
regarde l'algorithme où est la sélection de bd?
oui j'ai fait sa
Code:
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
27
28 <?php require_once('connexion.php'); mysql_select_db($database, $equip); $handle = fopen("pers.csv", "r"); echo "<table>"; while ($ligne = fgetcsv($handle,";")){ echo"<tr>"; $nbcol = count($ligne); for($i=0; $i<$nbcol; $i++) { echo"<td>".$ligne[$i]."<td>"; } echo"</tr>"; $nom=$ligne[0]; $prenom=$ligne[1]; $datenaissance=$ligne[2]; $matricule=$ligne[3]; $centre=$ligne[4]; $requete = "INSERT INTO SAPEURS (MATRICULESP,NOMSP,PRENOMSP,DATERECRUTEMENTSP,NUMCS) VALUES ('$matricule', '$nom', '$prenom', '$datenaissance', '$centre')"; mysql_query($requete); } echo"</table>"; fclose($handle); ?>
mieux...
là ça devrait marcher (à première vue)
tu devrais suivre mon algo et bien déléimiter ce qui doit se faire si chaque étape précédente fonctionne...
ça évite les mauvaises surprises