Bonjour à tous,
Je suis actuellement en train de monter une page assez lourdes en information (à la demande du client). Le but est d'afficher tous ses produits ordonnées par famille et sous-famille (requête SQL), de traiter les informations et d'afficher en fonction des informations des blocs produits dynamiques. En tout, j'ai entre 600 et 800 produits a afficher.
Mon problème : J'ai un paramètre pour un produit qui est une chaine du type : 1;200g;0.2;2;300g;0.3 etc
On doit comprendre cette chaîne comme ceci :
Element 1, libelle 200g, coefficient multiplicateur de 0.2,
Element 2, libelle 300g, coefficient multiplicateur de 0.3,
etc
Si cette élement est NULL, je ne fais rien.
Si cette élement est différent de NULL, je fais ceci :
J'ai essayé ce même code avec un for et un count($decoupe) pour déterminer le nombre de tour à faire. J'ai un allow memory ...
J'ai essayé avec slip au lieu d'explode, ça ne change rien..
Pour conclure, si je n'utilise pas ce code, je mets 900ms a charger ma page (avec des images miniatures ultra compressées de 8 ko chacune (300ms sans images))
Voir ici sans la méthode
Par contre, avec cette méthode, je mets 9.76 secondes a charger ma page ! C'est énorme !
Voir ici avec la méthode
Pourquoi tant de temps ?
Si quelqu'un a une idée... merci d'avance.
EDIT : d'après les images que j'ai mis en lien, mon fichier principal pèse 7.9Mo avec la méthode et 290Ko sans, ... !
Alors là.. je ne comprend pas..
Modifié par Kikimagik (12 Mar 2014 - 11:33)
Je suis actuellement en train de monter une page assez lourdes en information (à la demande du client). Le but est d'afficher tous ses produits ordonnées par famille et sous-famille (requête SQL), de traiter les informations et d'afficher en fonction des informations des blocs produits dynamiques. En tout, j'ai entre 600 et 800 produits a afficher.
Mon problème : J'ai un paramètre pour un produit qui est une chaine du type : 1;200g;0.2;2;300g;0.3 etc
On doit comprendre cette chaîne comme ceci :
Element 1, libelle 200g, coefficient multiplicateur de 0.2,
Element 2, libelle 300g, coefficient multiplicateur de 0.3,
etc
Si cette élement est NULL, je ne fais rien.
Si cette élement est différent de NULL, je fais ceci :
//Vérification de l'existance d'une liste de découpe (utilsé pour la viande généralement)
if($p['Parametresliste']['Contenu'] != ''){
//Tranformation de la chaine en tableau
$decoupe = explode(';', $p['Parametresliste']['Contenu']);
echo '<select>';
$i = 0;
//parcours du tableau (j'espère qu'avec ma description au dessus vous comprendrez le $i+3)
while ($decoupe[$i] != '') {
echo '<option value="'.$decoupe[$i+2].'">'.$decoupe[$i+1].'</option>';
$i = $i+3;
}
echo '</select>';
}
J'ai essayé ce même code avec un for et un count($decoupe) pour déterminer le nombre de tour à faire. J'ai un allow memory ...
J'ai essayé avec slip au lieu d'explode, ça ne change rien..
Pour conclure, si je n'utilise pas ce code, je mets 900ms a charger ma page (avec des images miniatures ultra compressées de 8 ko chacune (300ms sans images))
Voir ici sans la méthode
Par contre, avec cette méthode, je mets 9.76 secondes a charger ma page ! C'est énorme !
Voir ici avec la méthode
Pourquoi tant de temps ?
Si quelqu'un a une idée... merci d'avance.
EDIT : d'après les images que j'ai mis en lien, mon fichier principal pèse 7.9Mo avec la méthode et 290Ko sans, ... !

Modifié par Kikimagik (12 Mar 2014 - 11:33)