par
superyms » 15 août 2006, 14:19
Bonjour,
j'ai le fichier 'test.csv' que j'essai depuis maintenant assez longtemps pour ne pas m'en sortir seul !
Code : Tout sélectionner
test.csv
==================
pays;fixe;mobile;sms;fax
algérie;0,18;0,2;0,08;0,2
argentine;0,07;0,21;0,06;0,09
australie;0,04;0,21;0,05;0,08
autriche;0,04;0,25;0,05;0,08
belgique;0,03;0,18;0,05;0,06
je dois (veux) faire ceci :
1/ il faut savoir que le csv est composée de 5 colonnes (pays, fixe, mobile, sms et fax) séparée par un ";"
2/ je sais que je dois me servir de fgetscsv() pour ouvrir et rapatrié les données !
3/ je sais que les données incluses dans les lignes (rows) peuvent être lues et obtenues ! sous forme de tableaux de données (arrays)
a/obtenir des arrays comme ceci : (colonne par colonne et pas ligne par ligne !)
$pays = array ('algérie', 'autriche', 'australie', ...);
$ fixe = array ('0,15', '0,08', ...);
idem pour les autres
b/une fois ces tableaux créés je souhaite les utiliser dans des boucles (foreahc sinon foravec incrémentation) pour généré :
- une liste déroulante pour les pays :
Code : Tout sélectionner
<select name="ListePays">
<option value='1'>Algeria</option><option value='2'>Argentina</option><option value='3'>Australia</option><option value='4'>Austria</option><option value='5'>Belgium</option></select>
je sais que je peux le faire comme ceci, mais je n'ai pas les données tableau plus haut :
<select name="ListePays" onChange="chklayer(this.value)">
<?php
$pays = array ("Algeria", "Argentina", "Australia", "Austria", "Belgium");
for ($i = 0; $i < count($pays); $i++)
{ echo "<option value='$i'>$pays[$i]</option>";
}
?>
</select>
- une boucle qui affiche les détails des autres colonnes :
<?php
for ($i = 1; $i < count($pays); $i++)
{
echo "<div id=Layer$i class=tarif style=display:none>";
echo "<p><span class=Style2>Téléphonie</span><br />";
echo "Fixe: <span class=Style1><strong>$fixe[$i]</strong></span><br />";
echo "Mobile: <span class=Style1><strong>$mobile[$i]</strong></span></p>";
echo "<p><span class=Style2>Fax: </span><span class=Style1><strong>$fax[$i]</strong></span></p>";
echo "<p><span class=Style2>Sms: </span><span class=Style1><strong>$sms[$i]</strong></span></p>";
echo "</div>";
}
?>
vous voyez je coince !
1/ je ne sais pas comment créer un tableau (array) que je nommerai $pays et qui me donne toutes la liste des pays inclus dans le csv ! (idem pour les autres colonnes !)
2/ je ne sais pas comment iplémenter uen boucle de manière à ce que le 1er élément du tableau array soit $i =1 et non pas =0 (peutre que foreach est meilleure en utilisant un tableau associatif ?
Milles merci de me donner conseil et orientation sinon un début de oslution (une solution complète aussi) car là vraiment je n'en peux plus !
A l'aide !

Bonjour, :D
j'ai le fichier 'test.csv' que j'essai depuis maintenant assez longtemps pour ne pas m'en sortir seul !
[code]test.csv
==================
pays;fixe;mobile;sms;fax
algérie;0,18;0,2;0,08;0,2
argentine;0,07;0,21;0,06;0,09
australie;0,04;0,21;0,05;0,08
autriche;0,04;0,25;0,05;0,08
belgique;0,03;0,18;0,05;0,06[/code]
je dois (veux) faire ceci :
1/ il faut savoir que le csv est composée de 5 colonnes (pays, fixe, mobile, sms et fax) séparée par un ";"
2/ je sais que je dois me servir de fgetscsv() pour ouvrir et rapatrié les données !
3/ je sais que les données incluses dans les lignes (rows) peuvent être lues et obtenues ! sous forme de tableaux de données (arrays)
a/obtenir des arrays comme ceci : (colonne par colonne et pas ligne par ligne !)
$pays = array ('algérie', 'autriche', 'australie', ...);
$ fixe = array ('0,15', '0,08', ...);
idem pour les autres
b/une fois ces tableaux créés je souhaite les utiliser dans des boucles (foreahc sinon foravec incrémentation) pour généré :
- une liste déroulante pour les pays :
[code]<select name="ListePays">
<option value='1'>Algeria</option><option value='2'>Argentina</option><option value='3'>Australia</option><option value='4'>Austria</option><option value='5'>Belgium</option></select>[/code]
je sais que je peux le faire comme ceci, mais je n'ai pas les données tableau plus haut :
[php]<select name="ListePays" onChange="chklayer(this.value)">
<?php
$pays = array ("Algeria", "Argentina", "Australia", "Austria", "Belgium");
for ($i = 0; $i < count($pays); $i++)
{ echo "<option value='$i'>$pays[$i]</option>";
}
?>
</select>[/php]
- une boucle qui affiche les détails des autres colonnes :
[php]<?php
for ($i = 1; $i < count($pays); $i++)
{
echo "<div id=Layer$i class=tarif style=display:none>";
echo "<p><span class=Style2>Téléphonie</span><br />";
echo "Fixe: <span class=Style1><strong>$fixe[$i]</strong></span><br />";
echo "Mobile: <span class=Style1><strong>$mobile[$i]</strong></span></p>";
echo "<p><span class=Style2>Fax: </span><span class=Style1><strong>$fax[$i]</strong></span></p>";
echo "<p><span class=Style2>Sms: </span><span class=Style1><strong>$sms[$i]</strong></span></p>";
echo "</div>";
}
?>
[/php]
vous voyez je coince ! :shock: :oops:
1/ je ne sais pas comment créer un tableau (array) que je nommerai $pays et qui me donne toutes la liste des pays inclus dans le csv ! (idem pour les autres colonnes !)
2/ je ne sais pas comment iplémenter uen boucle de manière à ce que le 1er élément du tableau array soit $i =1 et non pas =0 (peutre que foreach est meilleure en utilisant un tableau associatif ?
Milles merci de me donner conseil et orientation sinon un début de oslution (une solution complète aussi) car là vraiment je n'en peux plus !
A l'aide ! :idea: