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 :

Temporisation echo PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Hobby
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Par défaut Temporisation echo PHP
    Bonjour à tous,


    mon code "proc_import_csv.php" est fonctionnel en ce sens que les enregistrements sont bien faits. Le voici :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    ...
         $affectedRows = $pdo->exec("
         LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$databasetable`
         FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
         LINES TERMINATED BY ".$pdo->quote($lineseparator));
     
         ?>  <div id="info">Enregistré un total de </div>
     
         <?php
     
         $affectedRows . "lignes à partir du fichier : " . $csvfile;
     
         ?>
     
         <script language='javascript'>
                    temp=document.getElementById('info');
    	        setTimeout('temp.style.display="none"',10000);
     
         </script>
     
         <?php
     
     
         //fclose($file);
        }
     
        header('location:index.php');
    ?>
    Dans le but de pouvoir contrôler le nombre d'enregistrements réalisés par rapport au nombre de lignes du fichier .csv, je désire afficher un message qui doit pouvoir être lu pendant n secondes. Si je n'utilise pas la fonction header('location:index.php'), mais un href index.php, l'utilisateur doit cliquer sur "Retourner à la page d'accueil", ce que j'aimerais éviter en utilisant la possibilité de re-direction.

    La partie qui me pose souci, car l'affichage temporisé ne fonctionne pas est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
         ?>  <div id="info">Enregistré un total de </div>
     
         <?php
     
         $affectedRows . "lignes à partir du fichier : " . $csvfile;
     
         ?>
     
         <script language='javascript'>
                    temp=document.getElementById('info');
    	        setTimeout('temp.style.display="none"',10000);
     
         </script>
    Comment puis-je régler mon problème ?

    Merci d'avance pour votre aide.

    Cordialement
    Pascal

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 669
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 669
    Par défaut
    pendant que le traitement se fait coté serveur, vous souhaitez montrer à l'utilisateur la progression de ce traitement, c'est bien ça ?

    pour cela vous pouvez utiliser ajax comme dans ce module par exemple qui affiche la progression de l'upload d'un fichier :
    https://abciweb.developpez.com/module-upload-ajax-php/

  3. #3
    Membre confirmé
    Homme Profil pro
    Hobby
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Par défaut
    Bonjour mathieu,

    non, ce n'est pas la progression qui m'intéresse, mais l'affichage du résultat stocké dans la variable "$affectedRows" à la fin du traitement. J'utilise ce script java pour confirmer la connexion à la bdd et je pensais pouvoir l'utiliser dans cette procédure.

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 669
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 669
    Par défaut
    s'il s'agit d'afficher le nombre final d'enregistrements importés, il va y avoir une 1re page avec le bouton qui lance le traitement et une 2e page qui affiche le résultat.
    je ne comprend pas à quel moment vous avez besoin d'une temporisation ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Hobby
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Hobby

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Par défaut
    Il y a en fait 3 pages :

    1 - Index.php avec un menu de sélection qui suite au choix ouvre :
    2 - import_csv.php qui permet de choisir le fichier csv à importer
    3 - proc_import_csv.php


    Code import_csv.php :

    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
    <!DOCTYPE html>
    <html>
        <head>
                <title>Catalogue</title>
                <meta charset="utf-8">
                <link rel="stylesheet" href="css/style_csv.css"/>
        </head>
     
        <body>
            <h3>Ajout par lot</h3>
     
     
            <form enctype="multipart/form-data" action="proc_import_csv.php" method="POST">
            <div class="container">
                 <input name="file" type="file" />
                 <p><input type="submit" value="Envoyez le fichier" /></p>
            </div>
            </form>
        </body>
    </html>

    Le code proc_import_csv.php :

    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
    <?php
     
    require_once('connect.php');
     
    $db = $pdo->prepare("INSERT INTO trainset_prov (pays, repertoire, materiel, genre, simulateur, commentaire) VALUES(?,?,?,?,?,?)");
     
         $affectedRows = $pdo->exec("
         LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$databasetable`
         FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)."
         LINES TERMINATED BY ".$pdo->quote($lineseparator));
         $affectedRows . "lignes à partir du fichier : " . $csvfile;
     
        // C'est cet affichage qui doit durer une dizaine de secondes avant que index.php soit appelé
     
         //fclose($file);
     
        }
     
        header('location:index.php');
    ?>


  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 669
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 669
    Par défaut
    donc vous voulez afficher un message à l'utilisateur pour lui dire de patienter pendant que le traitement est en cours ?

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

Discussions similaires

  1. Javascript dans un echo PHP de fonctionne pas
    Par Ed la poignee dans le forum Langage
    Réponses: 1
    Dernier message: 24/03/2009, 16h31
  2. Balise HTML dans echo PHP
    Par ju0123456789 dans le forum Langage
    Réponses: 7
    Dernier message: 24/11/2008, 14h42
  3. récupérer un echo php dans swf avec as3
    Par sanatou dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 05/06/2008, 15h25
  4. propriété width zappée dans un echo php
    Par skyangel20 dans le forum Langage
    Réponses: 2
    Dernier message: 15/10/2007, 11h30
  5. [Mail] Temporisation en PHP
    Par Ylias dans le forum Langage
    Réponses: 4
    Dernier message: 11/02/2006, 22h39

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