Categories > TinyButStrong general (FR) >

Lenteur

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: daviraud
Date: 2008-06-26
Time: 14:07

Lenteur

Bonjour,

Mes utilisateurs rencontrent de plus en plus de lenteur sur mon intranet qui utilise tinybut strong.
Ma table mysql a environ 300 enregistrements.
Mon code php
    $TBS = new clsTinyButStrong ;
    $TBS->LoadTemplate('gestion.htm') ;

    $Nbr = $TBS->MergeBlock('dossier_sensible','mysql',"select Id_dossier,Id_region,Num_cli,Nom_cli,Num_cde,Plateforme,Date_livraison,Corres,Four,Num_ordre,Produit,Alerte,Responsable,Id_region,Dpt,Date_livraison_max,Date_maj as Date_maj_formate,Modif_par,Date_maj,Archive from dossier_sensible ".$condition);

connectes("Tableau dossiers sensibles");

$TBS->NoErr = true;
$TBS->Show() ;

et mon fichier html

        <table id="table1" class="sortable">
            <tr>
                <th class="nophase" width="20" align="center" class="unsortable">Id</th>
                <th class="nophase" width="20" align="center">Modifier le</th>
                <th class="phase1" width="80" align="center">Région</th>
                <th class="phase1" width="80" align="center">Dpt</th>
                <th class="phase1" width="80" align="center">N° client</th>
                <th class="phase1" width="100" align="center">Nom client livré</th>
                <th class="phase1" width="75" align="center">N° Commande</th>
                <th class="phase1" width="75" align="center">Livraison client souhaitée min</th>
                <th class="phase1" width="135" align="center">Livraison client souhaitée max</th>
                <th class="phase1" width="100" align="center">Fournisseur</th>
                <th class="phase1" width="75" align="center">Conseiller Régio</th>
                <th  width="100" align="center">Plateforme</th>
                <th  width="75" align="center">N° ordre</th>
                <th  width="75" align="center" alt="Test">Respons. action</th>
                <th  width="75" align="center">Produit</th>
                <th  width="75" align="center">Alerte</th>
                <th  width="30" align="center" class="unsortable"></th>
                <th  width="30" align="center" class="unsortable"></th>
            </tr>
            <tr bgcolor="#F0F0F0" >
                <td>[dossier_sensible.Id_dossier;block=tr][onshow;block=td;when [dossier_sensible.Alerte]==O] <img src="loupe_alerte1.png" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[var.user]");'></td>
                <td>[dossier_sensible.Id_dossier;block=tr][onshow;block=td;when [dossier_sensible.Alerte]==N] <img src="loupe.png" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[var.user]");'></td>
                <td>[dossier_sensible.Date_maj_formate] par [dossier_sensible.Modif_par]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Id_region', 'texte','[var.user]')">[dossier_sensible.Id_region]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Dpt', 'texte','[var.user]')">[dossier_sensible.Dpt]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_cli', 'texte','[var.user]')">[dossier_sensible.Num_cli]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Nom_cli', 'texte','[var.user]')">[dossier_sensible.Nom_cli]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_cde', 'texte','[var.user]')" onMouseOver="AffBulle('','[dossier_sensible.Id_dossier]')" onMouseOut="HideBulle()">[dossier_sensible.Num_cde]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Date_livraison', 'date','[var.user]')">[dossier_sensible.Date_livraison]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Date_livraison_max', 'date','[var.user]')">[dossier_sensible.Date_livraison_max]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Four', 'texte','[var.user]')">[dossier_sensible.Four]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Corres', 'texte','[var.user]')">[dossier_sensible.Corres]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Plateforme', 'texte','[var.user]')">[dossier_sensible.Plateforme]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_ordre', 'texte','[var.user]')">[dossier_sensible.Num_ordre]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Responsable', 'texte','[var.user]')">[dossier_sensible.Responsable]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Produit', 'texte','[var.user]')">[dossier_sensible.Produit]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Alerte', 'texte','[var.user]')">[dossier_sensible.Alerte]</td>
                <td><img src="archive.jpg" alt="Archiver" onclick='supprime([dossier_sensible.Id_dossier],"[var.user]")'></td>
                <td><img src="dupliquer.jpg" alt="Dupliquer" onclick='dupli([dossier_sensible.Id_dossier],"[var.user]")'></td>
            </tr>
            <tr bgcolor="#E6E6E6">
                <td>[dossier_sensible.Id_dossier;block=tr][onshow;block=td;when [dossier_sensible.Alerte]==O] <img src="loupe_alerte1.png" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[var.user]");'></td>
                <td>[dossier_sensible.Id_dossier;block=tr][onshow;block=td;when [dossier_sensible.Alerte]==N] <img src="loupe.png" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[var.user]");'></td>
                <td>[dossier_sensible.Date_maj_formate] par [dossier_sensible.Modif_par]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Id_region', 'texte','[var.user]')">[dossier_sensible.Id_region]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Dpt', 'texte','[var.user]')">[dossier_sensible.Dpt]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_cli', 'texte','[var.user]')">[dossier_sensible.Num_cli]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Nom_cli', 'texte','[var.user]')">[dossier_sensible.Nom_cli]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_cde', 'texte','[var.user]')" onMouseOver="AffBulle('','[dossier_sensible.Id_dossier]')" onMouseOut="HideBulle()">[dossier_sensible.Num_cde]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Date_livraison', 'date','[var.user]')">[dossier_sensible.Date_livraison]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Date_livraison_max', 'date','[var.user]')">[dossier_sensible.Date_livraison_max]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Four', 'texte','[var.user]')">[dossier_sensible.Four]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Corres', 'texte','[var.user]')">[dossier_sensible.Corres]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Plateforme', 'texte','[var.user]')">[dossier_sensible.Plateforme]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Num_ordre', 'texte','[var.user]')">[dossier_sensible.Num_ordre]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Responsable', 'texte','[var.user]')">[dossier_sensible.Responsable]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Produit', 'texte','[var.user]')">[dossier_sensible.Produit]</td>
                <td ondblclick="modifie([dossier_sensible.Id_dossier], this,'dossier_sensible', 'Alerte', 'texte','[var.user]')">[dossier_sensible.Alerte]</td>
                <td><img src="archive.jpg" alt="Archiver" onclick='supprime([dossier_sensible.Id_dossier],"[var.user]")'></td>
                <td><img src="dupliquer.jpg" alt="Dupliquer" onclick='dupli([dossier_sensible.Id_dossier],"[var.user]")'></td>
            </tr>
            <tr bgcolor="#F0F0F0" [dossier_sensible.Id_dossier;block=tr;nodata]>
                <td colspan=7>Choisir une région et valider pour voir la liste des dossiers</td>
            </tr>
        </table>


est ce que quelqu'un peut me dire si j'ai fait une erreur dans mon code?

Merci d'avance
By: daviraud
Date: 2008-06-27
Time: 09:14

Re: Lenteur

snif snif pas de réponse.
le strong des strongs, monsieur Skrol29 est en vacances?
Personne ne peux m'aider car j'ai une fronde d'utilisateurs contre moi. Au secours
By: Skrol29
Date: 2008-07-01
Time: 01:44

Re: Lenteur

Bonjour Darivaud,

Hé oui, je part en weekend des fois... :)
Ce qui ralenti ta page c'est très probablement les fameux blocs conditionnels [onshow] qui sont présents deux fois par enregistrement. Ca peut faire lourd...
En plus tu as des [var.user] sur chaque ligne.

Pour les [var.user], le mieux c'est de les remplacer par des [onload.user]. Mais il faut que la variable $user soit bien renseignée avant le LoadTemplate. Sinon il faudra utiliser un MergeField() pour fusionner ces champs spécifiquement.

Pour lel [onshow], je vois qu'ils servent à afficher une image qui change selon la valeur de Alerte. Tu peux remplacer ça par une cellule simple
<img src="[dossier_sensible.Alerte;when [val]=O;then loupe_alerte1.png; else loupe.png]" ...>

Avec ces deux modif, ton modèle devrait speeder...
By: daviraud
Date: 2008-07-01
Time: 10:15

Re: Lenteur

J'espère que tu as passé un bon WE.
En tout cas merci. J'ai gagné un peu en rapidité. Par contre, je n'ai plus mes  images qui apparaissent depuis que j'ai mis ta formule.
<img src="[dossier_sensible.Alerte;when [val]=O;then loupe_alerte1.png; else loupe.png]" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[onload.user]");'>

Vois tu le problème?
Encore merci pour tout.
By: daviraud
Date: 2008-07-01
Time: 10:16

Re: Lenteur

je met ma ligne complète pour que tu vois l'ensemble.
<td>[dossier_sensible.Id_dossier;block=tr]<img src="[dossier_sensible.Alerte;when [val]=O;then loupe_alerte1.png; else loupe.png]" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("[dossier_sensible.Id_dossier]","[onload.user]");'></td>

By: Skrol29
Date: 2008-07-02
Time: 11:49

Re: Lenteur

Je ne vois, pas.
Il faut regarder le HTML produit et voir pourquoi l'image ne s'affiche pas. le lien est peut être mauvais ou alors le nom produit par TBS n'est peut être pas celui attendu.
By: daviraud
Date: 2008-07-02
Time: 12:00

Re: Lenteur

Voilà le résultat retourné dans la page

<td>235<img src="N" alt="Voir le dossier" onmouseover='check_date_vide();'onclick='javascript:affiche_dossier("235","daviraud");'></td>

En fait il me met la valeur de dossier_sensible.Alerte qui est egale à N comme nom d'image
By: Skrol29
Date: 2008-07-02
Time: 18:51

Re: Lenteur

ha ouai, me suis gouré, c'est un 'if' et non pas un 'when'.

By: daviraud
Date: 2008-07-03
Time: 09:12

Re: Lenteur

Nickel. Merci Skrol29 pour ta dispo