Fork me on GitHub




« 1 (2)


Re: Plus de 500 requête sur la page index de xoopstube (c'est beaucoup)
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Re

Non aucun bloc.

oui il y a la recherche alphabétique.

Et j'ai bien un genre de menu, ou plutôt une liste des catégories principale qui correspond à cette requête du fichier index.php:

$sql     'SELECT * FROM ' $xoopsDB->prefix('xoopstube_cat') . ' WHERE pid=0 ORDER BY ' $catsort;


pid = 0 donc bien seulement les categories principale.

ensuite il y a la liste des derniers liens ajouté qui correspond bien aussi au fichier index:

$result $xoopsDB->query(
        
'SELECT * FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE published > 0
                                AND published <= ' 
time() . 
                                AND (expired = 0 OR expired > ' 
time() . ') 
                                AND offline = 0 
                                ORDER BY published DESC'
$limit$start
    
);


Je ne vois aucune requête sur index.php qui correspond à cette cascade de requête avec jointure de table.

par contre, il est vrai que dans l'administration, il y a une option (que je garde désactivé) pour afficher aussi les sous catégories (ou dumoins les 5 première).

ça doit correspondre à ceci juste en dessous de la première requête montré plus haut:
$catsort $xoopsModuleConfig['sortcats'];
$sql     'SELECT * FROM ' $xoopsDB->prefix('xoopstube_cat') . ' WHERE pid=0 ORDER BY ' $catsort;
$result  $xoopsDB->query($sql);
while (
$myrow $xoopsDB->fetchArray($result)) {
    
$countin++;
    
$subtotalvideoload 0;
    
$totalvideoload    xtube_getTotalItems($myrow['cid'], 1);
    
$indicator         xtube_isnewimage($totalvideoload['published']);
    if (
xtube_checkgroups($myrow['cid'])) {
        
$title $xtubemyts->htmlSpecialCharsStrip($myrow['title']);

        
$arr = array();
        
$arr $mytree->getFirstChild($myrow['cid'], 'title');

        
$space         1;
        
$chcount       1;
        
$subcategories '';
        foreach (
$arr as $ele) {
            if (
TRUE == xtube_checkgroups($ele['cid'])) {
                if (
$xoopsModuleConfig['subcats'] == 1) {
                    
$chtitle $xtubemyts->htmlSpecialCharsStrip($ele['title']);
                    if (
$chcount 5) {
                        
$subcategories .= '...';
                        break;
                    }
                    if (
$space 0) {
                        
$subcategories .= '<br />';
                    }
                    
$subcategories
                        
.= '<a href="' XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/viewcat.php?cid='
                        
$ele['cid'] . '">' $chtitle '</a>';
                    
$space++;
                    
$chcount++;
                }
            }
        }


mais je ne vois toujours rien qui pourrait appeler à éxécuter les requêtes de viewcat.php sur l'index.php.

EDIT:

cette section d'affichage des sous catégories n'est pas en cause, je l'ai commenté et les requêtes sont toujours la.

tu peut voir la page et les requêtes au complet ici:
http://nsm08.casimages.com/img/2015/0 ... 140839421137512875641.png

Est ce que tu a une idée d'ou viennent toutes ces requêtes?
est ce bien les requêtes de viewcat qui sont éxécuté?

merci de ton aide

Posté le : 14/01/2015 20:11
Partager Twitter Partagez cette article sur GG+
Re: Plus de 500 requête sur la page index de xoopstube (c'est beaucoup)
Aspirant
Inscrit: 11/11/2010 14:56
Messages: 78
je pense que c'est la fonction xtubeGetTotalItems qui genère tous ces requetes.

essaye de commenter les lignes ou tu trouve cette fonction et regarde.

ligne 82 //$listings = xtubeGetTotalItems();
ligne 92 //$totalvideoload = xtubeGetTotalItems($myrow['cid'], 1);

Posté le : 14/01/2015 22:29
Partager Twitter Partagez cette article sur GG+
Re: Plus de 500 requête sur la page index de xoopstube (c'est beaucoup)
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Re

Merci olivee t'a raison c'est bien cette fonction qui est en cause, me reste plus qu'a la modifier car les catégories alternative servent à rien dans mon cas.

EDIT:
Problème résolu

y'avais bien une boucle de requêtes concernant les catégories alternative. commenté comme suit:

function xtube_getTotalItems($sel_id 0$get_child 0$return_sql 0) {
    global 
$xoopsDB$mytree$_check_array;

    if (
$sel_id 0) {
        
$sql 'SELECT a.lid, a.cid, a.published FROM ' $xoopsDB->prefix('xoopstube_videos') . ' a LEFT JOIN '
            
$xoopsDB->prefix('xoopstube_altcat') . ' b' ' ON b.lid=a.lid'
            
' WHERE a.published > 0 AND a.published <= ' time() . ' AND (a.expired = 0 OR a.expired > ' time()
            . 
') AND offline = 0 ' ' AND (b.cid=a.cid OR (a.cid=' $sel_id ' OR b.cid=' $sel_id '))'
            
' GROUP BY a.lid, a.cid, a.published';
    } else {
        
$sql 'SELECT lid, cid, published FROM ' $xoopsDB->prefix('xoopstube_videos')
            . 
' WHERE offline = 0 AND published > 0 AND published <= ' time() . ' AND (expired = 0 OR expired > '
            
time() . ')';
    }
    if (
$return_sql == 1) {
        return 
$sql;
    }

    
$count          0;
    
$published_date 0;

    
$arr    = array();
    
$result $xoopsDB->query($sql);
    while (list(
$lid$cid$published) = $xoopsDB->fetchRow($result)) {
        if (
TRUE == xtube_checkgroups()) {
            
$count++;
            
$published_date = ($published $published_date) ? $published $published_date;
        }
    }
/*
    $child_count = 0;
    if ($get_child == 1) {
        $arr  = $mytree->getAllChildId($sel_id);
        $size = count($arr);
        for ($i = 0; $i < count($arr); $i++) {
            $query2 = 'SELECT a.lid, a.published, a.cid FROM ' . $xoopsDB->prefix('xoopstube_videos') . ' a LEFT JOIN '
                . $xoopsDB->prefix('xoopstube_altcat') . ' b' . ' ON b.lid = a.lid'
                . ' WHERE a.published > 0 AND a.published <= ' . time() . ' AND (a.expired = 0 OR a.expired > ' . time()
                . ') AND offline = 0' . ' AND (b.cid=a.cid OR (a.cid=' . $arr[$i] . ' OR b.cid=' . $arr[$i]
                . ')) GROUP BY a.lid, a.published, a.cid';

            $result2 = $xoopsDB->query($query2);
            while (list($lid, $published) = $xoopsDB->fetchRow($result2)) {
                if ($published == 0) {
                    continue;
                }
                $published_date = ($published > $published_date) ? $published : $published_date;
                $child_count++;
            }
        }
    }*/
    
$info['count']     = $count /*+ $child_count*/;
    
$info['published'] = $published_date;
    return 
$info;
}


Résultat: 490 requêtes de moins, il en reste 62, magnifique.

Posté le : 16/01/2015 02:45
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

51 Personne(s) en ligne (44 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 51 | Plus ...