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 :

Exporter les données vers excel (php/Mysql)


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut Exporter les données vers excel (php/Mysql)
    Bonjour tout le monde
    je suis débutant et je dois faire une application pour mon stage
    donc j'ai fait un moteur de recherche qui me donne un tableau comme resultat tout va bien jusqu'à là, ce que je voudrais faire c'est que quand j'ai ces résultats je peux l'exporter vers excel c'est à dire avoir un bouton qu on on clique dessu les données s'exporte vers excel.
    voila mon script recherche.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
    <?php
    // on se connecte à notre base
    $base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('stock', $base) ;
     
    ?>
    <style>
    	body {background-color: #DAFFA8; background-image: url(imagefond.jpg);background-repeat: repeat-y;background-position: left top;}
    	</style>
    <center><table border bgcolor="#7FFF00"><tr>
      <CAPTION><strong>Produits disponibles dans le stock</strong></CAPTION>
    <th>ID</th>
    <th>Type</th>
    <th>Marque</th>
    <th>Modele</th>
    <th>Format</th>
    <th>Commentaires</th>
     
    </tr>
     
    <?php
    	$marque=mysql_real_escape_string(htmlspecialchars ($_POST['Marque']));
    	$produit=mysql_real_escape_string(htmlspecialchars ($_POST['Produit']));
    	$format=mysql_real_escape_string(htmlspecialchars ($_POST['Format']));
    	$type=mysql_real_escape_string(htmlspecialchars ($_POST['Type']));
    	$modele=mysql_real_escape_string(htmlspecialchars ($_POST['Modele']));
     
    $requete = "SELECT * FROM $produit WHERE 1=1 ";
     
    if ($type != "") {
       $requete .= "AND Type= '".$type."' ";
    }
    if ($marque != "") {
       $requete .= "AND Marque= '".$marque."' ";
    }
    if ($modele != "") {
       $requete .= "AND Modele= '".$modele."' ";
    }
    if ($format != "") {
       $requete .= "AND Format = '".$format."' ";
    }
     
    if ($type != "") {
       $requete .= "OR Type= '".$type."' ";
    }
    if ($marque != "") {
       $requete .= "OR Marque= '".$marque."' ";
    }
    if ($modele!= "") {
       $requete .= "OR Modele= '".$modele."' ";
    }
    if ($format != "") {
       $requete .= "OR Format= '".$format."' ";
    }
     
    $res = mysql_query($requete) or die(mysql_error());
    while ($donnees = mysql_fetch_array($res)) // On fait une boucle pour lister les résultats
    {
    ?>
     
    <tr>
    <td><?php echo $donnees['ID'];?></td>
    <td><?php echo $donnees['Type'];?></td>
    <td><?php echo $donnees['Marque']; ?></td>
    <td><?php echo $donnees['Modele']; ?></td>
    <td><?php echo $donnees['Format']; ?></td>
    <td><?php echo $donnees['Commentaires']; ?></td>
    </tr>
     
     
    <?php
    }
    echo"Pour faire une nouvelle recherche";
    // Fin de la boucle
    ?>
         <html>
        <body>
     <form action="f_recherche_famille2.html" method="post">
     <p><input type="submit"style="width: 130px" value=" Cliquer ICI " /></p>;
    </form>
     <form action="excel.php" method="post">
     <p><input type="submit"style="width: 130px" value=" exportexcel " /></p>;
    </form>
    <form action="index.php" method="post">
    			<p><input type="submit"style="width: 130px"  value="Fermer" /></p>
    		</form>
    	    </body>
        </html>
    merci pour les aides.

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    mais tu veux un format excel excel ou un format tabulé?

    parce que y'en a un qui est facile pour un débutant et l'autre que tu vas galérer. Et ya plein de tutos.

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Hello

    Si tu utilise du CSV (Comma Separated Values - .csv) c'est très simple à faire et c'est compris par Excel, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $query = "SELECT `name`,`surname`,`age` FROM `member`";
    if ($results = mysql_query($query))
    {
        header('Content-Type: application/csv');
        echo "name;surname;value\r\n";
        while ($row = mysql_fetch_assoc($results))
           echo implode(';', $row) . "\r\n";
    }
    else die('Query Error');

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut
    Bonjour Benjamin, en fait je veux que l'utilisateur peut modifier les données obtenus en exportant le fichier vers un format qui puisse faire ça, et comment faire apparaitre un bouton qui directement exporte ces données en cliquant dessus. je note que je suis débutant Merci pour l'aide

  5. #5
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    enfait je veux que l'utilisateur peut modifier les données obtenus en exportant le fichier vers un format qui puisse faire ça
    Alors il te faut un formualire d'import/export :p

    Faire un boutton pour lancer le téléchargement est très facile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form action="export.csv.php">
    <input type="submit" value="Exporter" />
    </form>
    Pour récupérer les données modifiées par l'utilisateur, c'est très simple aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form actipn="import.csv.php">
    <input type="file" name="csv_file" />
    <input type="submit" value="Importer" />
    </form>
    coté 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
     
    if (isset($_FILES['csv_file']))
    {
      $handle = fopen($_FILES['tmp_name'], 'r');
      $data = array(); // le tableau qui va contenir nos données
      $keys = explode(';', fgets($handle));
      while ($line = fgets($handle))
      {
         $data[] = array_combine($keys, explode(';', $line));
      }
     
      fclose($handle);
      var_dump($data);
    }
    That's really that easy

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    plutôt :

    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
    if (isset($_FILES['csv_file']))
    {
        $handle = fopen($_FILES['tmp_name'], 'r');
        $data = array(); // le tableau qui va contenir nos données
     
        $keys = fgetcsv($handle, 0, ';'));
     
        while ($line = fgetcsv($handle, 0, ';'))
        {
            $data[] = array_combine($keys, $line);
        }
     
        fclose($handle);
        var_dump($data);
    }


    pas oublier le fgetcsv

    et pour exporter c'est :

    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
    if ($results = mysql_query($query))
    {
     
        $handle = tmpfile();    
        $row    = mysql_fetch_assoc($results);
     
        fputcsv($handle, array_keys($row), ';');
     
        do
        {
        	fputcsv($handle, $row, ';');
        }
        while($row = mysql_fetch_assoc($results));
     
        header('Content-Type: application/csv');
        fpassthru($handle);
    }
    else 
    {
        exit('Query Error');
    }
    pas oublier non plus le fputcsv

Discussions similaires

  1. Exporter les données vers excel sans passer par un agent
    Par debdev dans le forum Lotus Notes
    Réponses: 3
    Dernier message: 04/10/2013, 00h10
  2. [MySQL] Exporter des données vers Excel depuis php
    Par berti dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/03/2008, 14h26
  3. [En cours]Exporter des données vers Excel
    Par Muhad'hib dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/01/2006, 14h25
  4. exporter des données vers EXCEL!
    Par JauB dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/11/2005, 15h13
  5. Export de données vers Excel
    Par psykot63 dans le forum Access
    Réponses: 2
    Dernier message: 03/01/2005, 12h04

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