Page 1 sur 1

Intégrer une valeur d'un CSV dans une page PHP

Posté : 28 déc. 2006, 15:44
par Goingup
Bonjour à tous,
Je cherche le moyen de copier la valeur d'une "cellule" Excel (exporter en .CSV) sur une page...

Voici un exemple pour être plus précis :

--> Mon CSV:
nb habitants;pays
63;France
300;usa
...

Ainsi sur ma page, je voudrais appeler le nombre d'habitants correspondant au nom du pays. Dès lors que je metterais mon CSV à jour, toutes les valeurs copiées sur les pages seront également MAJ...

Merci d'avance!

Posté : 28 déc. 2006, 16:09
par HD
 /* On ouvre le fichier à importer en lecture seulement */
 $fichier = 'tonfichier.csv';
 if (file_exists($fichier))
     $fp = fopen("$fichier", "r"); 
 else
     { /* le fichier n'existe pas */
       echo "Fichier introuvable !<br>Importation stoppée.";
       exit();
     }
      
    while (!feof($fp)) /* Et Hop on importe */
    { /* Tant qu'on n'atteint pas la fin du fichier */ 
       $ligne = fgets($fp,4096); /* On lit une ligne */  

       /* On récupère les champs séparés par ; dans liste*/
       $liste = explode( ";",$ligne);  
    
       /* On assigne les variables */ 
       $nbrhabitants = $liste[0]; 
       $pays= $liste[1]; 
   
         print "$nbrhabitants $pays<br>";
     } 
     
     echo "<br>Importation terminée, avec succès."; 
       
     /* Fermeture */ 
     fclose($fp); 

Posté : 28 déc. 2006, 16:24
par zeus
Dans un soucis d'optimisation, on pourrais remplacer ces 2 lignes
       $ligne = fgets($fp,4096); /* On lit une ligne */  

/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);   
Par celle là
$liste = fetgetcsv($fp, 4096);

Posté : 28 déc. 2006, 18:54
par Goingup
C'est presque parfait !

Mais puisse que je veux créer une page par pays (et non un tableau des statistiques des pays), il faudrait que je puisse appeler le "nb d'habitants" du pays que je traite...

Par exemple :

--> france.php
Nbs d'habitant : là j'appele seulement la case "nb d'habitant en France"

--> usa.php
Nbs d'habitant : là j'appele seulement la case "nb d'habitant aux usa"

Posté : 29 déc. 2006, 11:47
par mere-teresa