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

Langage PHP Discussion :

page excel en php


Sujet :

Langage PHP

  1. #1
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut page excel en php
    bonjour a tous, grace a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-type: application/vnd.ms-excel");
    situé en haut de la page, que la page s'ouvre sous excel.

    Cette page est une simple requete qui liste les données d'une table (d'ou l'interet d'excel) mais il y a plus de 400 entrées listées, et il faut une bonne minute pour pouvoir afficher la page, et je voudrais savoir si c'est le fait que la page soit sous excel qui la fait ramer autant, ou est ce le fait d'afficher plus de 400 entrees d'une table dans la meme page sous forme de tableau et sinon comment essayer de rendre la page plus rapide.

    'oilou merchi!


  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour savoir quelle partie est lente, il suffit d'enlever des parties.
    Par exemple, fait uniquement la requete et voit deja combien de temps cela met.

  3. #3
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    ha oué dis donc!

    atta, je viens de faire la requete sous phpmyadmin et prrrt, ca mets rien du tout comme temps.... et pourtant ma page est un simple tableau avec les balises <tr> dans un while pour lister le contenu de ma table....



    serait ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-type: application/vnd.ms-excel");
    qui rend l'operation desagreable?

    diantre et peste, une solution ?

    merchi

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    La solution je l'ai deja donné, si ce n'est pas la requete qui est lente, c'est une etape ensuite.

  5. #5
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    oué mais y'a rien!

    ma page est la suivante :

    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
     
     
    <?php 
    session_start();
    error_reporting(0);
    header("Content-type: application/vnd.ms-excel");
     
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    <meta http-equiv=Content-Type content="text/html; charset=utf-8" /> 
    <meta http-equiv="Content-Language" content="fr" />
    <?php
    $log=$_SESSION['log'];
    include('connection.php');
    		?>
    <table border="0"  bgcolor='#999999' style="width:100%">
      <tr><th width="6%" bgcolor="#9999FF"><font size="-1">nom</font></th>
      <th width="15%" bgcolor="#9999FF"><font size="-1">prenom</font></th>
        <th width="21%" bgcolor="#9999FF"><font size="-1">contact</font></th>
        <th width="19%" bgcolor="#9999FF"><font size="-1">adresse</font></th>
      <th width="6%" bgcolor="#9999FF"><font size="-1">Code Postal</font></th>
      <th width="20%" bgcolor="#9999FF"><font size="-1">ville</font></th>
      <th width="4%" bgcolor="#9999FF"><font size="-1">publicitaire</font></th>
      <th width="3%" bgcolor="#9999FF"><font size="-1">invitation</font></th>
      <th width="3%" bgcolor="#9999FF"><font size="-1">VIP</font></th>
      <th width="3%" bgcolor="#9999FF"><font size="-1">carte</font></th>
      <th width="3%" bgcolor="#9999FF"><font size="-1">billeterie</font></th>
      </tr><?php
     $total="";
      $_SESSION['req']='SELECT c.*,s.* FROM clients c inner JOIN service s ON c.id=s.id_user where 1';
     if($_POST['publicitaire']=='on')
     {
     $_SESSION['req'].=" AND s.publicitaire='1' ";
     $total.="/ publicitaire /";
     }
      if($_POST['invitation']=='on')
     {
     $_SESSION['req'].=" AND s.invitation='1' ";
      $total.="/ invitation /";
     }
      if($_POST['VIP']=='on')
     {
     $_SESSION['req'].=" AND s.vip='1' ";
      $total.="/ VIP /";
     }
      if($_POST['carte']=='on')
     {
     $_SESSION['req'].=" AND s.voeux='1' ";
      $total.="/ voeux /";
       }
       if($_POST['carte']=='on')
     {
    	$_SESSION['req'].=" AND s.type_evenement ='billeterie' ";
    	$total.="/ billeterie /";
      }
       $resultat_total=mysql_query($_SESSION['req'])or die(mysql_error());
    echo $total;
    $num_res=mysql_num_rows($resultat_total);
    if($num_res!='0')
    {
     
    	$requy=$_SESSION['req'];
    	$resultat_sql=mysql_query($requy)or die(mysql_error());
    	while($b=mysql_fetch_array($resultat_sql ))
    	{
      ?><tr>
      <td bgcolor="#FFFFFF" > <?php  echo $b["nom"];?></td>
      <td bgcolor="#FFFFFF"><?php echo $b["prenom"];?></font></td>
    	  <td bgcolor="#FFFFFF"><?php echo $b["contact"];?></font></td>
    	  <td bgcolor="#FFFFFF"><?php echo $b["adresse"];?></font></td>
    	  <td bgcolor="#FFFFFF"><?php echo $b["code_postal"];?></font></td>
    	  <td bgcolor="#FFFFFF"><?php echo $b["ville"];?></font></td>
    	  <td bgcolor="#FFFFFF"><input type="checkbox" disabled="disabled" <?php if($b['publicitaire']==1){?> checked="checked"<?php };?> /></td>
        <td bgcolor="#FFFFFF"><input type="checkbox" disabled="disabled" <?php if($b['invitation']==1){?> checked="checked"<?php };?> /></td>
          <td bgcolor="#FFFFFF"><input type="checkbox" disabled="disabled" <?php if($b['vip']==1){?> checked="checked"<?php };?> /></td>
          <td bgcolor="#FFFFFF"><input type="checkbox" disabled="disabled" <?php if($b['voeux']==1){?> checked="checked"<?php };?> /></td>
    	  <td bgcolor="#FFFFFF"><input type="checkbox" disabled="disabled" <?php if($b['type_evenement']=='billeterie'){?> checked="checked"<?php };?> /></td></tr>
          <?php
          }
    	  }
    	  ?></table>

    bref, un grand classique quoi! et meme en local ca rame!

    je vois que le passage a l'excel qui puisse faire ramer la chose...

    non ?

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    oué mais y'a rien!
    Ah bon ?
    Y'a deux requetes dans ton code, tu as verifié les deux ?
    Tu as essayé de ne pas faire le mysql_num_rows() ? Ca pourrait etre lui qui est ent après tout ?
    Tu as essayé de ne pas faire d'affichage ? Tu verrais si c'est l'affichage dans le navigateur qui patine.
    etc.
    Petite cerise sur le gateau : tu as essayé d'afficher les erreurs ? Ca me parrait quand meme essentiel pour analyser un script.

  7. #7
    Débutant   Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Points : 262
    Points
    262
    Par défaut
    bon t'as raison, je vais séparer les choses : dans un premier temps je mettrai les données en tableau et dans un second temps, j'appellerai la page excel avec le tableau en parametre...


    merci du conseil

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

Discussions similaires

  1. Excel et page de type PHP
    Par claude dans le forum WebDev
    Réponses: 2
    Dernier message: 01/02/2010, 09h08
  2. [Excel] Comment lire des fichiers excel avec php?
    Par dear_rihab dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/11/2007, 12h38
  3. Export de données Oracle vers Excel via PHP
    Par Yanos dans le forum Oracle
    Réponses: 1
    Dernier message: 11/01/2006, 18h11
  4. Probleme d'insertion de page XHTML/CSS/PHP
    Par crocod dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/12/2005, 19h25
  5. VB/EXCEL/DATES/PHP
    Par JBLCN dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/08/2005, 08h32

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