Je travaille sur l'optimisation d'une application web php/mysql. Le problème auquel je suis confronté est que le résultat d'une fonction est vraiment grand! comme 4MB.Php retourne grand-données
J'appelle une fonction dans le fichier HTML-php:
<table id="example1" class="table table-bordered table-striped table-hover" width="100%">
<thead>
<tr><th>
.
.
.</thead>
<?php
$results = $diosAdminMain->getResults();
echo $results;
?>
</table>
et devrait obtenir les résultats de mon DB puis les présenter avec l'aide de datatables.
dans mon fichier de classe est ma fonction
<?php
$diosAdminMain = new diosCore;
class diosCore{
public function getResults(){
$myhtml='<tbody>';
.
.
.
$resultqry=mysql_query('SELECT * from table');
while($row = mysql_fetch_assoc($resultqry)){
$myhtml.= '<tr>
<td>'.$row['ID'].'</td>
<td>'.$row['PR1'].'</td>
<td>'.$row['PR2'].'</td>
<td>'.$row['THL1'].'</td>
<td>'.$row['THL2'].'</td>
<td>'.$row['NAME1'].'</td>
<td>'.$row['NAME2'].'</td>';
}
$myhtml.='</tbody>';
return $myhtml;
}
}
.
.
?>
J'essaie de trouver un moyen de faire faire cette présentation plus rapide parce que les résultats vont croître plus. Maintenant, pour 1800 lignes, prend presque 20 secondes pour montrer sur le chrome.
par les mesures que j'ai pris sans datatables il ne me permet de gagner 1-2 secondes (et je ne veux pas l'enlever comme la recherche rapide est impressionnant). J'ai essayé aussi d'optimiser les requêtes MySQL et le flux logique dans la fonction, mais le même résultat. J'exporté le résultat de la fonction en tant que texte brut et trouvé que est juste un grand résultat avec la taille 4Mo.
Est-il possible de supprimer en quelque sorte la taille de la variable myhtml de $ pour rendre les choses plus vite? ou de toute autre façon que j'ai manqué?
merci
SIde note: S'il vous plaît jeter un oeil à http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php –
Yeap, c'est la prochaine étape dans ce projet –
Mmmm .... le meilleur penser que vous pouvez faire est de mettre en œuvre une pagination côté serveur au lieu de retourner tous les enregistrements à la fois;) – Hackerman