ajouter un checkbox apresimport de csv

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ajouter un checkbox apresimport de csv

Re: ajouter un checkbox apresimport de csv

par Elie » 07 juil. 2014, 10:03

  • Explique moi les histories de doubles, les doublons sont sur la totalité de la ligne ou juste sur un champ ?
  • Peut-il y avoir 2 fichiers qui ont la même date de modification ?
Donne moi un liste plus complete avec un exemple de doublon...

Re: ajouter un checkbox apresimport de csv

par tycoons » 07 juil. 2014, 09:16

salut Elie,
l'affichage et nickel je le customiserai plus tard ?
mais la question du tri de mes tableaux et plus complexe.
j'ai deux tri a faire
le 1 par le groupe car chaque fichier appartient a un groupe qui regrouper les doublons
le 2 par la date de la dernière modif du fichier je coche par défaut le date le plus recente de mon checkbox

Re: ajouter un checkbox apresimport de csv

par Elie » 05 juil. 2014, 09:52

Désolé je t'avais oublié...

Et 5min plus tard :
<table border="1">
 <thead>
  <tr>
   <th>Name</th>
   <th>Path</th>
   <th>Group</th>
   <th>taille</th>
   <th>Modifier le</th>
   <th>modifier</th>
  </tr>
 </thead>
 <tbody>
<?php
$i=0;
if (($handle = fopen("csv.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
		
		if($i > 0) { // Pour éviter la premiere ligne avec le header
		
echo '  <tr>
   <td>'.$data[0].'</td>
   <td>'.$data[1].'</td>
   <td>'.$data[2].'</td>
   <td>'.$data[3].'</td>
   <td>'.$data[4].'</td>
   <td>Modifier <input type="checkbox" value="1" name="modifier['.$i.']" id="modifier_'.$i.'" /> <input type="checkbox" value="1" name="modifier2['.$i.']" id="modifier2_'.$i.'" /></td>
  </tr>'."\n"; 
       
		}
		$i++;
  }
    fclose($handle);
}

?>
 </tbody>
</table>
Dis moi si ca te va !

Re: ajouter un checkbox apresimport de csv

par tycoons » 05 juil. 2014, 08:09

Bon,
je me répond tous seul je n'y suis pas encore mais bon voila ce que j arrive a faire pour le moment
transformer mon csv en array sois par colonne soit par ligne.
la structure de base du csv est sous cette forme:
name;path;groupe;tailles;date
il faut que je classe mon tableau par groupe avant d’insérer mes 2 checkbox par ligne ou le 1 sera activer grâce a la date.
La je patauge si je fait un array multidimensionnel
ligne = array =>[0] => name [1]=>path[2]=>groupe[3] etc...
ligne suivant idem un si de suite
je ne sais pas comment faire mon tri pour gérer l''affichage.

Re: ajouter un checkbox apresimport de csv

par tycoons » 02 juil. 2014, 23:01

salut Elie,
merci de te pencher sur mon problème je peut te filer un extrais car il fait plus de 4000 lignes le but finale étant de sélectionner les doublons pour les faire valide par l'utilisateur final.

Code : Tout sélectionner

"File Name",Path,"Group",Tailles,Datemodif,modifer, autorun.inf,"Chemin de fichier",1,"36 B","08/06/2005 09:57:07",modifer, autorun.inf,"Chemin de fichier",1,"36 B","21/06/2005 15:29:34",modifer, autorun.inf,"Chemin de fichier/doc.txt",1,"36 B","16/06/2005 15:08:31",modifer, autorun.inf,"doc2.txt",1,"36 B","21/06/2005 15:30:11",modifer,
merci de ton aide et de celle des autres

Re: ajouter un checkbox apresimport de csv

par Elie » 02 juil. 2014, 21:38

Donne nous le contenu de test.csv au passage ...

ajouter un checkbox apresimport de csv

par tycoons » 02 juil. 2014, 21:25

bonjour a tous,
je vous explique mon souci :
j'ai un fichier csv que je doit parser dans un premier temps et ajouter une colonne par après insérer un checkbox pour recoupe un liste donc voilà comment je procède:
j'importe mon fichier et je crée une colonne ensuite je le parse avec un autre fichier
<?php
$newCsvData = array();
if (($handle = fopen("export.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
        $data[] = 'modifier';
        $newCsvData[] = $data;
    }
    echo $data;
    fclose($handle);
}

$handle = fopen('test.csv', 'w');
foreach ($newCsvData as $line) {
   fputcsv($handle, $line);
}
fclose($handle);

?> 
donc là j'ajoute bien ma colonne et je renomme mon fichier csv.
1 problem il m'insert modifier dans tous mes td de la colonne pas exactement ce que je veux faire
le parser
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    
    echo '<table border="1">';
    
    while (($data = fgetcsv($handle,  4096, ",")) !== FALSE) {
        $num = count($data);

        if ($row == 1) {
            echo '<thead><tr>';
        }else{
            echo '<tr>';
        }
        
        for ($c=0; $c < $num; $c++) {
            //echo $data[$c] . "<br />\n";
            if(empty($data[$c])) {
               $value = "&nbsp;";
            }else{
               $value = $data[$c];
            }
            if ($row == 1) {
                echo '<th>'.$value.'</th>';
            }else{
                echo '<td>'.$value.'</td>';
            }
        }
        
        if ($row == 1) {
            echo '</tr></thead><tbody>';
        }else{
            echo '</tr>';
        }
        $row++;
    }
    
    echo '</tbody></table>';
    fclose($handle);
}
?>
si vous avez des suggestion sur la procédure pour arriver a ce résutat
<table border="1"><thead><tr><th>Name</th><th>Path</th><th>Group</th><th>taille</th><th>Modifier le</th><th>modifier</th></tr></thead><tbody><tr><td>toto.txt</td><td>D:\toto.txt</td><td>1</td><td>36 B</td><td>08/06/2005 09:57:07</td><td>modifier [color=#FF0000]ici mes deux checkbox[/color]</td></tr></tbody></table>
merci de votre aide à tous