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 :

Fichier csv à partir d'une requete [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut Fichier csv à partir d'une requete
    Bonjour à tous,

    Je me pose une question est-il possible de faire une requête à partir d'éléments sélectionnés dans un formulaire PHP afin d'obtenir le resultat dans un fichier .csv ?
    (pour l'enregistrer sur son poste)

    Si cela est possible j'aurai besoin d'un coup de pouce...

    Voici mon code:

    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
     
    <table>
    <p>Filtrer par date:</p>
     
    <form method="post" action="">
    Du: <input type="text" name="datedebut" id="datepicker"/> Au: <input type="text" name="datefin"/>Agence:  <select name="agence" style="width:130px">
    <?php
    mysql_connect("localhost", "root", "xxxxx");
    mysql_select_db("EMPL");
     
    $reponse = mysql_query("SELECT agence FROM Agence");
    while ($donnees =  mysql_fetch_array($reponse))
    {
    ?>
    <option value="<?php echo $donnees['agence'] ?>"><?php echo $donnees['agence'] ?></option>
       <?php
       }
       ?>
    </select>
     
     
       <input type="SUBMIT" name="Filtrer" value="TRANSFERT .CSV"/>
     
    </table>
    J'aimerai obtenir mon fichier .CSV ou autre format à partir de ce formulaire
    Il faut donc sélectionner une date de début et une date de fin (between) puis une agence mais j'ai du mal a voir comment préparer cette requête enfin s'il est possible ?


    Ma table se nomme: Heuresinterim
    Et à l'interieur je veux recup tout les critères en fonction de cette requete: id/nom/agence/datex/heures

    Merci d'avance pour m'accordez votre temps

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il ne faut pas avoir peur d'écrire du code

    Ici j'ai remplacé la vieille extension mysql par PDO
    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
     
    if (isset($_POST['Filtrer'])) {
     
    header("Content-type: text/csv");
    header("Content-Disposition: attachment; filename=fichier.csv");
    header("Pragma: no-cache");
    header("Expires: 0");
     
    $cnx = new PDO('mysql:dbname=EMPL;host=localhost', 'root', '');
     
    $sth = $cnx->prepare('SELECT id, nom, agence ,datex, heures FROM Heuresinterim WHERE agence = :agence AND datex BETWEEN :datedebut AND DATE_ADD(:datefin, INTERVAL 1 DAY)');
    $sth->execute(array(':agence'=>$_POST['agence'], ':datedebut'=>$_POST['datedebut'], ':datefin'=>$_POST['datefin']));
     
    while ($row =  $sth->fetch(PDO::FETCH_ASSOC)) {
        echo implode(';', $row) . "\r\n";
    }
    exit();
    }
    J'ajoute 1 jour à la date de fin de façon à ce qu'elle soit inclus dans les résultats.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Merci pour ton aide.
    Par contre sa peux sembler un peu bête...
    Mais (la j'ai les neurones en compote)... je ne vois pas à qu'elle endroit je dois mettre le code que tu fais.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    En première ligne de ton script actuel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Le boulet...
    En tout cas merci, j'aurais galéré des années...
    Une autre petite question avant de clotrer la discusion on peux avoir la même chose en fichier .xls ?

    Merci

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Oui en utilisant PHPExcel.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Merci

    Sinon je viens de voir que j'ai mes deux date picker pour le filtre qui ne s'affiche pas...
    Il y a quelque chose à faire en plus si on veux que cela fonctionne sur plusieurs champs formulaire ?

    empl.ddns.net/saisir.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
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
      <link rel="stylesheet" href="/resources/demos/style.css">
      <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
      <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
      <script>
      $( function() {
        $( "#datepicker" ).datepicker({
        	dateFormat: "yy-mm-dd"
        });
     
      });
      </script>
     
     
    	<title> EMPL</title>
    	<meta charset="UTF-8">
    	<link rel="stylesheet" href="style.css" />
    	</head>
    <body>
    <div id="bloc_page">
                <img src="raspbian.png" alt="Logo_page" title="Accueil" id="logo" width="340" height="140" /></div>
     
     
    		<p>Bonjour: <?php echo $userinfo['login']; ?> 
    		   Votre Statut: <?php echo $userinfo['statut']; ?>
    		</p>
     
     
     
    /////////////////////////////
    /////////////////////////////
     
    <table>
    <align>
    <form method="POST" action="">
     
    <td align="right"
    <p>Nom:  
    <select name="nom" style="width:130px">
    <?php
    mysql_connect("localhost", "root", "xxxxxxx");
    mysql_select_db("EMPL");
     
    $reponse = mysql_query("SELECT nomcomplet FROM interim");
    while ($donnees =  mysql_fetch_array($reponse))
    {
    ?>
    <option value="<?php echo $donnees['nomcomplet'] ?>"><?php echo $donnees['nomcomplet'] ?></option>
       <?php
       }
       ?>
    </select></p>
     
    <p>Jour de mission:  
    <input type="text" name="datex" id="datepicker" placeholder="Date mission" /></p>
     
    <p>Nombres d'heures:  
    <input type="text" name="heures" placeholder="ex: 5,5" /></p>
     
    <p>Agence:  <select name="agence" style="width:130px">
    <?php
    mysql_connect("localhost", "root", "xxxxxxxx");
    mysql_select_db("EMPL");
     
    $reponse = mysql_query("SELECT agence FROM Agence");
    while ($donnees =  mysql_fetch_array($reponse))
    {
    ?>
    <option value="<?php echo $donnees['agence'] ?>"><?php echo $donnees['agence'] ?></option>
       <?php
       }
       ?>
    </select>
     
     
     
     
     
    <input type="submit" name="submit" value="Valider"/><br>
     
    </form>
    </td>
    </align>
    </table>
    /////////////////////////////
    /////////////////////////////
    <table>
    <p>Filtrer par date:</p>
     
    <form method="post" action"">
    <br>
    Du: <input type="text" name="datedebut" id="datepicker"/> Au: <input type="text" id="datepicker" name="datefin"/> Agence:  <select name="agence" style="width:130px">
    <?php
    mysql_connect("localhost", "root", "xxxxxxx");
    mysql_select_db("EMPL");
     
    $reponse = mysql_query("SELECT agence FROM Agence");
    while ($donnees =  mysql_fetch_array($reponse))
    {
    ?>
    <option value="<?php echo $donnees['agence'] ?>"><?php echo $donnees['agence'] ?></option>
       <?php
       }
       ?>
    </select>
     
     
       <input type="SUBMIT" name="Filtrer" value="FILTRER"/>
       </form>
     
    </table>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut que tu mettes un id différent pour chaque input et que tu initialises un datepicker pour chacun.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Homme Profil pro
    technicien
    Inscrit en
    Octobre 2016
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 41
    Par défaut
    Merci pour ton aide
    Je souhaite une bonne fin de soirée

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

Discussions similaires

  1. [Python 3.X] Générer un fichier CSV à partir d'une liste
    Par blueice dans le forum Général Python
    Réponses: 1
    Dernier message: 20/04/2015, 15h38
  2. [SQL-Server] Créer fichier CSV à partir d'une requete SQL
    Par slimshady2878 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/12/2013, 19h02
  3. création fichier CSV à partir une table
    Par neoboy dans le forum Macros Access
    Réponses: 11
    Dernier message: 06/12/2012, 11h17
  4. Compter les lignes d'un fichier CSV à partir d'une ligne
    Par miniRoshan dans le forum Général Java
    Réponses: 6
    Dernier message: 03/06/2010, 11h16
  5. Generer un fichier xls,csv a partir d'une requete
    Par minette dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 01/08/2006, 15h56

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