Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2007, 14h58   #1
Invité de passage
 
Inscription : juin 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 2
Points : 0
Points : 0
Par défaut [CSV] Importation cvs -> SQL problème de controle

Bonjour,
J'ai réalisé un fichier d'importation du format csv vers mes tables SQL.
Le fichier marche super mais je voudrais pouvoir laisser les colonnes excels en début de fichier.
En effet lorsque je transforme le xls avec excel, pour que ce la fonctionne bien, je dois commencer par la première ligne et supprimer les lignes en haut de page.
Pour information: j'ouvre mon fichier et je le parcourt, par contre mon parcourt commence dès le début.
voici les quelques lignes du début du parcourt:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (!feof($fp))  // On parcourt le fichier
{
    $ligne = fgets($fp,4096); 
	 // On se déplace d'une ligne
	 $liste = explode($separateur,$ligne);  
             // Champs séparés par ;
	//parcourt du fichier csv et affectation de chaque variable à   chaque valeur
	//test d'affichage à chaque ligne voire si l'on entre bien dans la boucle
 
			$col0 = $liste[1];
			echo 'case zéro okay </BR>';
			$col1 = $liste[2];
			echo 'première case okay </BR>';
			$col2 = $liste[3];
Si quelqu'un pouvai me guider pour commencer l'importation quand je veux je suis preneur.
Merci d'avance.
dokkosaint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 15h14   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
puisque tu lis le fichier en entier tu peux commencer par utilise la fonction http://php.net/file
ensuite tu as juste besoin d'un test pour faire un traitement spécial pour la première ligne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$contenu = file('fichier.csv');
 
$traitementPremierLigneFait = FALSE;
 
foreach ($contenu as $ligne) {
    if (!$traitementPremierLigneFait) {
        // traitement de la première ligne
        // ...    
 
        $traitementPremierLigneFait = TRUE;
    } else {
        $liste = explode($separateur, $ligne);  
        // ... suite
    }
}
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2007, 15h19   #3
Invité de passage
 
Inscription : juin 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 2
Points : 0
Points : 0
Citation:
Envoyé par mathieu
puisque tu lis le fichier en entier tu peux commencer par utilise la fonction http://php.net/file
ensuite tu as juste besoin d'un test pour faire un traitement spécial pour la première ligne
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$contenu = file('fichier.csv');
 
$traitementPremierLigneFait = FALSE;
 
foreach ($contenu as $ligne) {
    if (!$traitementPremierLigneFait) {
        // traitement de la première ligne
        // ...    
 
        $traitementPremierLigneFait = TRUE;
    } else {
        $liste = explode($separateur, $ligne);  
        // ... suite
    }
}

Ouais je vois bien, le problème c'est que je ne sais pas si il y a une ou plusieurs ligne avant le début du controle. ( Le fichier ce n'est pas moi l'édite, c'est une personne pour qui ça ne doit pas être une contrainte de mettre plein de choses avant son tableau de BD), mon rôle est de faciliter au mieu la souplesse du fichier excel. Vous voyez ce que je veux dire ?
dokkosaint est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web