Csv to tableau php
Fermé
badreddineghazouani
Messages postés
5
Date d'inscription
dimanche 30 juin 2013
Statut
Membre
Dernière intervention
5 juillet 2013
-
Modifié par badreddineghazouani le 5/07/2013 à 13:04
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 5 juil. 2013 à 14:16
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 5 juil. 2013 à 14:16
A voir également:
- Csv to tableau php
- Tableau croisé dynamique - Guide
- Code ascii tableau - Guide
- Tableau word - Guide
- Qwerty to azerty - Guide
- Trier tableau excel - Guide
1 réponse
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
5 juil. 2013 à 14:16
5 juil. 2013 à 14:16
Salut !
A priro ta logique n'est pas très bonne :
$num = count($data); te renvera toujours le même nombre, car même si ta cellule est vide ca compte pour 1.
Si t'as un fichier comme ca :
nom;prenom;age
jean;dupond;20
lucie;;25
albert;smith;
Dans tout tes tours de boucles tu auras 3 cellules
Pour parcourir ce fichier :
$file = fopen("fichier.csv", "r");
<table>
<thead>
<tr>
$titre = fgetcsv($handle, 1000, ",");
foreach($titre as $t) {
echo '<th>'.$t.'</th>';
}
</tr>
</thead>
<tbody>
$i = 0;
while($ligne = fgetcsv($handle, 1000, ",")) {
echo '<th>';
foreach($ligne as $c) {
echo '<th>'.$c.'</th>';
}
echo '</th>';
$i++
}
</tbody>
</table>
Donc $i correspond à la ligne numéro x
Dans le foreach, $c correspond à une cellule, mais tu n'es pas obligé de faire le foreach, si tu veux faire des test sur une cellule d'une ligne tu y as accès avec $ligne[x] où x est entre 0 et count($ligne)
Avec ca tu peux alors agir au niveau que tu souhaites, lignes ou colonnes !
A priro ta logique n'est pas très bonne :
$num = count($data); te renvera toujours le même nombre, car même si ta cellule est vide ca compte pour 1.
Si t'as un fichier comme ca :
nom;prenom;age
jean;dupond;20
lucie;;25
albert;smith;
Dans tout tes tours de boucles tu auras 3 cellules
Pour parcourir ce fichier :
$file = fopen("fichier.csv", "r");
<table>
<thead>
<tr>
$titre = fgetcsv($handle, 1000, ",");
foreach($titre as $t) {
echo '<th>'.$t.'</th>';
}
</tr>
</thead>
<tbody>
$i = 0;
while($ligne = fgetcsv($handle, 1000, ",")) {
echo '<th>';
foreach($ligne as $c) {
echo '<th>'.$c.'</th>';
}
echo '</th>';
$i++
}
</tbody>
</table>
Donc $i correspond à la ligne numéro x
Dans le foreach, $c correspond à une cellule, mais tu n'es pas obligé de faire le foreach, si tu veux faire des test sur une cellule d'une ligne tu y as accès avec $ligne[x] où x est entre 0 et count($ligne)
Avec ca tu peux alors agir au niveau que tu souhaites, lignes ou colonnes !