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

PHP & Base de données Discussion :

INSERT + visualisation


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut INSERT + visualisation
    Bonjour,

    J'essaye de mettre en place un système qui permet à un utilisateur d'uploader un fichier .txt contenant des données à insérer dans une table de la base de données en lui retournant une visualisation ou plutôt un état de l'insertion qui est en cours ...

    En d'autres termes, je souhaiterai que l'utilisateur charge son fichier et lors de la validation de l'insertion des données, ces mêmes lignes remontent une par une pour montrer que l'insertion n'a pas échoué. En gros cela reviens à retourner à l'utilisateur la progression de l'insertion du fichier dans la base de données.

    Pouvez-vous m'éclairer, si bien sur je me fait bien comprendre ?

    Cordialement

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Qu'est ce que entends par progression ? Une barre de progression comme ceux des systèmes ?
    Si c'est ça, faut voir du coté d'Ajax. Mais est ce vraiment utile ?

    Sinon, au niveau du déroulement, je vois juste la possibilité de le faire en 2 temps.
    1/ Ce serait l'upload du fichier txt. Et dans la foulée la lecture de celui ci (ligne par ligne), pour ensuite proposer une prévisualisation du contenu à l'utilisateur, afin qui puisse vérifier que les données soient celles attendues.
    Pourquoi pas par exemple le proposer sous forme d'un formulaire, ce qui permettrait de faire une dernière rectification.
    2/ L'utilisateur valide le contenu, on procède à l'insertion des données.

  3. #3
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Bonjour,

    Merci de ta réponse ...

    C'est exactement ce que je fait pour le moment, upload & lecture du fichier et en suivant une présentation sur formulaire.

    Ma demande se situe juste après la prévisualisation du fichier, et lors du lancement de l'insertion, je souhaiterai que la prévisualisation soit mises à jour à l'écran pour chaque lignes insérées. En résumé, si ligne 1 insérée alors supprimer cette ligne de la prévisualisation et rafraichir.

    J'ai mis en place une procédure, l'utilisateur upload le fichier en fonction de conditions sur un premier formulaire puis il est redirigé vers la prévisualisation, une autre page ou il peux lancer l'upload. La prévisualisation est un block DIV contenant encore une page refresh en AJAX. Pour rafraichir ce DIV, je ne sais pas si je dois stocker les données issues de la lecture du fichier dans une table temp. ou un tableau pour l'envoie vers la page refresh. Imaginons un tableau de X par Y lignes en GET, je suis vraiment pas fan ...

    Cordialement

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Il faudrait savoir ce que représente 1 ligne "type" parmi les données en terme de volume, mais en règle général ça se passe en quelques millisecondes, des microsecondes même.
    Ce qui veut dire que que si on souhaite faire 1 retour d'info à chaque ligne enregistrée, on va augmenter le temps des traitement de l'ordre de 100 fois, facilement.

    En d'autre terme, il y a aucun intérêt de faire un truc pareil.
    S'il y a peu de données, autant mettre qu'1 seul message comme quoi tous c'est bien déroulé.
    Et s'il y a énormément de données, il y aura un risque de provoquer un timeout.

    Et puis ce n'est pas avec des refresh, que tu parviendras à faire un système de progression.
    Il y aura autant de refresh/rechargement de page que de lignes à insérer, tu vas considérablement augmenter le temps des traitements, c'est certains.
    De plus, ça demandera de transmettre à chaque fois la ligne à insérer, du coup, parcourir autant de fois le fichier pour récupérer la ligne, faire des vérifications, etc, etc ...
    Pas pratique du tout.
    C'est très éloigné d'un système de barre de progression.

    Mieux vaut le faire en l'Ajax, c'est au top à aujourd'hui.
    On a le choix de faire des requêtes en GET comme en POST en Ajax. De plus, en mode synchrone, comme asynchrone.
    En somme, on a plus de choix.

    En Ajax, l'insertion pourra ce faire plus rapidement, sans avoir à transmettre en boucle des paramètres, mais juste retourner une info comme quoi la ligne vient d'être insérée.
    Il n'y pas de rechargement, juste 1 seul appel au fichier qui se chargera de faire les insertions.
    C'est toute la différence grâce au mode asynchrone.

    Imaginons un tableau de X par Y lignes en GET, je suis vraiment pas fan ...
    Il n'y a pas lieu d'avoir un tableau X ou Y.
    Tu as des apriori, ou des idées reçues.
    Penche toi un peu plus sur le comment exploiter Ajax, il existe plein de tutos, tu verras qu'il y a aucune comparaison à faire avec un refresh.

  5. #5
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Salut,

    Je me suis bien tourné vers AJAX et j'avoue que je suis content de mon résultat j'arrive exactement à ce que je souhaite.

    J'ai mis en place une structure type : un formulaire d'upload du fichier texte, mémorisation du fichier texte dans une table temporaire, et lors de la validation de l"envoi des données je refresh en AJAX une visualisation de la table temporaire dans la page sachant que j'insére les données de la table temporaire vers la table de destination.
    Etant donné que l'insertion pour de faibles volumes de données est de l'ordre de la micro-seconde en effet, je bloque l'exécution du script une demie seconde pour ensuite refresh la visualisation ce qui permet d'aboutir à ma demande ...

    A améliorer surement, tout cela de manière dynamique avec une gestion multi-table on va dire ...

    Cordialement

Discussions similaires

  1. [DOM] [Xerces] Insertion d'une entité
    Par Traroth dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/05/2008, 09h28
  2. probleme d'insertion d'un Float
    Par neness dans le forum Débuter
    Réponses: 3
    Dernier message: 07/01/2003, 12h32
  3. Visualisation des mise à jour en réseau
    Par fandor7 dans le forum Paradox
    Réponses: 2
    Dernier message: 06/12/2002, 15h54
  4. [Postgresql] pb lors d'insertion de données
    Par bob20000 dans le forum Requêtes
    Réponses: 8
    Dernier message: 04/11/2002, 15h33
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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