[PHP] traitement d'un fichier texte a tabulation

traitement d'un fichier texte a tabulation [PHP] - Programmation

Marsh Posté le 05-03-2001 à 00:12:49    

en entré g un fichier texte a tabulation (venant d'excel) comme ceci :
login1   mdp1
login2   mdp2
etc...
 
et je veux insérer chaque ligne ds un table mysql (login, mdp)
 
pour ca je comptais faire 2 boucles imbriquées, ds la 1ere je decoupe chaque ligne grace au caractere '\n', ds la 2eme je decoupe au niveau des tabulations '\t\
 
et bah ca marche po mon code :(, j'dois m'y prendre comme un manche ... (g aussi essayer avec des "split" ms g pas du faire ce qui faut)
 
 
$donnees_eleves = fread(fopen($fichier_eleves, "r" ), filesize($fichier_eleves));
$donnees_eleves = addslashes($donnees_eleves);
$donnees_eleves = trim($donnees_eleves);
 
//
// Decoupage de la feuille excel $donnees_eleves par ligne
//
for ($i=0 ; $i<strlen($donnees_eleves)-1 ; $i++) {
 if (strcmp(substr($donnees_eleves, $i, 2), '\n')) {
  $eleve = substr ($donnees_eleves, 0, $i);
  $donnees_eleves = substr ($donnees_eleves, $i+2);
  $i = 0;
     
  //
  // Decoupage de la ligne $eleve par tabulation
  //
  $data = array();
  for ($j=0 ; $j<strlen($eleve)-1 ; $j++) {
   if (strcmp (substr ($eleve, $j, 2), '\t')) {
    $data[] = substr ($eleve, 0,  $j);
    $eleve = substr ($eleve, $j+2);
   }
  }
     
  //
  // On insère la ligne dans la table élèves
  //
  $query  = "INSERT INTO eleves (nom, prenom, moy1, moy2) VALUES (\"";
  $query .= $data[0];
  $query .= "\", \"";
  $query .= $data[1];
  $query .= "\", ";
  $query .= $data[2];
  $query .= ", ";
  $query .= $data[3];
  $query .= " )";
       }
}
 
 
merci pr votre aide

Reply

Marsh Posté le 05-03-2001 à 00:12:49   

Reply

Marsh Posté le 05-03-2001 à 00:19:28    

utilise les fonctions explode et fgets ca sera beaucoup plus simple et beauoup plus propre

Reply

Marsh Posté le 05-03-2001 à 00:22:43    

ok je regarde
merci

Reply

Marsh Posté le 05-03-2001 à 00:31:49    

Je n'avais pas lu correctement pource que tu veux faire split et explode sont quasi équivalentes.  
 
 
Nota: pOur spécifier le caractere tabulation utilise comme ca tu seras tranquille Chr(9) .

Reply

Marsh Posté le 05-03-2001 à 00:35:45    

c bon ca marche maintenant avec fgets et explode
le php c bien paske ttes les fonctions qu'il faut existent, ms y en a TROP !
 
et pkoi chr(9) plutot que \t ?

 

--Message édité par Lolo2k--

Reply

Marsh Posté le 05-03-2001 à 00:51:13    

[citation]et pkoi chr(9) plutot que \t ?
[/citation]
 
Parce que je ferais bien d'aller me coucher ... oui en fait ici il n'y a pas grand intéret a utiliser chr(9) plutot que \t.

Reply

Marsh Posté le 05-03-2001 à 01:09:01    

ici peut etre pas, mais dans kel cas alors ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed