[PHP] Affichage trop long

Bonjour,
Voila, j'ai un petit souci; je fais la requete suivante qui me permet de lister toutes les donnees de ma table dans un beau tableau tout propre; jusque la pas de probleme. Seulement j ai 40000 donnees dans ma table et la page met 8 min voire plus a s afficher .... cela vient des <tr> et <td> ds la variable$lo. seulement si je veu un beau tableau , je vois pas comment faire .... si quelqu un a une idee....
Merci d avance

<?php
$request = "SELECT DISTINCT Dest,Count,Dia FROM current ORDER BY Dest";
if ($relt = mysql_query($request)){
if(mysql_num_rows($relt)!=0){
while($result=mysql_fetch_assoc($result)){
$a=$result['Dest'];
$b=$reult['Count'];
$c=$reult['Dia'];
$lo .=" <tr >
<td >".$a."</td>
<td >".$b."</td>
<td >".$c."</td>
</tr>";
}
}else $report='You have no data!';
}
else{
echo "Error";
}
$OUT="
<table>
<tr >
<td >Dest</td>
<td >Count</td>
<td >Dia</td>
</tr>
$lo

</table>
</form>
";

echo $OUT;

?>
Configuration: Windows XP
Firefox 2.0.0.6

2 réponses

  1. Modérateur
    Il faut découper ta page en plusieurs avec des liens "suivant" et "précédent".

    Par exemple, dans ces liens tu peux mettre le le numéro de la page:

    <a href="catalogue.php?page=" . $page_courante +1 . '">Suivant</a>

    Puis tu récupères ce numéro dans la page suivante.
    Ensuite l'astuce consiste à faire une requête limitée.
    Par exemple avec mysql tu as la clause LIMIT début, combien

    A la place de début, tu mets le nombre de lignes que tu veux dans une page, multiplié par le numéro de la page (si la première c'est zero) et dans combien tu mets le nombre de lignes:

    mysql_query("SELECT ....... FROM......WHERE......LIMIT " . $nb_lignes * $page_courante . ", " . $nb_lignes);