IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre habitué
    Inscrit en
    janvier 2003
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 510
    Points : 196
    Points
    196
    Par défaut Intégrer un fichier .csv dans un tableau sans recharger la page. AJAX HTML PHP
    Bonjour,
    Je souhaite intégrer un fichier .csv coté client et l'afficher sans recharger la page.
    J'ai un formulaire HTML au sein duquel je permets de choisir un fichier, je fais une requete AJAX pour
    ouvrir le fichier depuis une page PHP qui renvoie le résultat HTML à intégrer dans ma page.
    Mais j'ai l'impression qu'il y a une incompatibilité entre le passage de données par $_POST et par $_FILES. (j'ai essayé les deux pour tenter de parvenir à mes fins)

    Je récupère bien le nom du fichier depuis l'Ajax que j'envoie en PHP, mais avec seulement le nom du fichier, je ne peux ouvrir ce fichier pour générer ma réponse en HTML.

    Voici le
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
      <form role="form" method="post" action="PHP_Pour_Ajax/Affichage_Chargement_Fichier_Client.php" enctype="multipart/form-data">
          <form class="needs-validation" novalidate>
           <center><h5>Voici la liste des champs que votre fichier doit contenir</h5></center>
          <div class="form-row">
            <div class="col-xs-8">
              <table class="table table-striped table-hover">
                <tbody>
                  <thead>
                      <tr>
                        <th>Nom</th>
                        <th>Prénom</th>
                        <th>Code Postal</th>
                        <th>Mail</th>
                        <th>Téléphone</th>
                        <th>Sexe</th>
                      </tr>
                  </thead>
                  <div id='Chargement_Fichier_Visible'>
                  </div>
                </tbody>
            </table>
              <div class="w-40">
     
              <!-- Recuparation du fichier -->
              <div class="col-xs-8">
                <label for="NomClient"></label>
                <input type="file" style="width:80%" name="FileToUpload" class="form-control" id="FileToUpload" required>
              </div>
     
              <label for="nom">Spécifiez le séparateur</label>
              <input type="text" style="width:30%"; class="form-control" id="separator" name="separator" required>
              <div class="valid-feedback">Ok !</div>
              <div class="invalid-feedback">Valeur incorrecte</div>
     
     
              </div>
              <div class="form-row">
                <div class="col-xs-8">
                <br/>
                  <button id="IntegrationFichier" type="submit" class="btn btn-success pull-right"> Valider </button>
              </div>
            </div>
            </div>
            </div>
        </form>
    </form>

    Ensuite l'AJAX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <script type="text/javascript">
             /* la fonction de ce script est d'envoyer et de récupérer les données des clients */
             //loadData();
            var NomDuFichier;
             //call by click event
             $('#IntegrationFichier').click(function(event){
               event.preventDefault();
               NomDuFichier=$('#FileToUpload').val();
                 $.ajax({
                  type: 'POST',
                  url: 'PHP_Pour_Ajax/Affichage_Chargement_Fichier_Client.php',
                  data: {
                          NomFichier:NomDuFichier
                        },
                 success: function(msg) {
                         $("#Chargement_Fichier_Visible").html(msg);
                     },
                 });
             });
             </script>
    et le
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (isset($_POST['NomFichier']))
    {
    $NOM_DU_FICHIER = $_POST['NomFichier'];
    echo  ($NOM_DU_FICHIER);
    }
    // je récupère  bien le nom du fichier mais ce n'est pas suffisant pour lire le fichier.
     
    print_r( $_FILES['NomFichier']['name']);
    if(array_key_exists('FileToUpload', $_FILES)){
        echo "on a bien trouve le fichier";
    }

    Merci d'avance de vos idées.

  2. #2
    Modérateur
    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    15 363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 15 363
    Points : 38 290
    Points
    38 290
    Par défaut
    Bonjour,
    Je souhaite intégrer un fichier .csv coté client et l'afficher sans recharger la page.
    pourquoi lire le fichier côté serveur alors que tu peux le lire et le traiter côté client ?

    Il existe pour t'aider l’objet FileReader et sa méthode FileReader.readAsText(), le reste n'est que manipulation.

  3. #3
    Membre habitué
    Inscrit en
    janvier 2003
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 510
    Points : 196
    Points
    196
    Par défaut
    Ok, super, (je suis nouveau dans les technos Web.) Ca marche top, merci bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ranger fichier csv dans un tableau
    Par bast292 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/03/2010, 11h53
  2. stocker des valeurs entiéres dns un fichier csv dans un tableau
    Par industrielle dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 22/03/2009, 18h40
  3. Réponses: 6
    Dernier message: 05/02/2009, 09h34
  4. [CSV] Mettre un fichier CSV dans un tableau
    Par tahiboy dans le forum Langage
    Réponses: 5
    Dernier message: 17/06/2007, 11h36
  5. Mettre un fichier csv dans un tableau à deux dimensions
    Par neeux dans le forum Général Python
    Réponses: 5
    Dernier message: 05/03/2007, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo