Fork me on GitHub

Rapport de message :*
 

Re: Ajout d'une fonctionnalité à xoopstube

Titre du sujet : Re: Ajout d'une fonctionnalité à xoopstube
par seboseboss sur 09/12/2014 13:20:08

Re

J'ai donc été voir cette requête et je l'ai modifié pour qu'elle me sorte toutes les infos des doublons:
SELECT t1.* 
FROM _xoopstube_videos AS t1 
INNER JOIN 

SELECT vidid 
FROM _xoopstube_videos 
GROUP BY vidid 
HAVING count
(vidid) > 

AS 
t2
ON t1
.vidid=t2.vidid 
ORDER BY t1
.vidid ASC


Pas de soucis si on veut l'utiliser directement dans sql, je l'ai fait, j'avais 27 doublons et j'ai donc pu corriger et ramener ce chiffre à 2

Avant ça j'ai essayé de convertir le tout pour xoops mais je n'arrive pas à afficher les infos, je doit couiller quelque part, j'ai pas d'erreur sql ou php juste rien ne s'affiche.

J'ai donc créé un fichier doublon.php
puis un template xoopstube_doublon.html pour pouvoir faire les essais sur une page indépendante.
J'ai ensuite modifié le fichier xoops_version.php pour y inclure le template.

Ensuitre j'ai pris exemple comme j'ai pu sur d'autres fichiers pour m'aider.

Dans un premier temps, je voulais déja éssayer d'afficher les infos sous forme de tableau tel quelles sortent sur sql.

J'ai fait la conversion sql -> php dans mysql (déja ça je suis pas sur que ça soit bon) puis utilisé tel quel en ajoutant juste les éléments xoops.

doublon.php:
<?php
/**
 * $Id: doublon.php
 * Module: XoopsTube
 */

include 'header.php';

$sql " SELECT t1.*n"
    
"FROM ' . $xoopsDB->prefix('xoopstube_videos') . ' AS t1 n"
    
"INNER JOIN n"
    
"( n"
    
"SELECT vididn"
    
"FROM ' . $xoopsDB->prefix('xoopstube_videos') . ' n"
    
"GROUP BY vidid n"
    
"HAVING count(vidid) > 1 n"
    
") n"
    
"AS t2n"
    
"ON t1.vidid=t2.vididn"
    
"ORDER BY t1.vidid ASC ";
$result    $xoopsDB->query($sql);
$video_doublon $xoopsDB->fetchArray($result);

/**
// on verifie si le résultat est un tableau
if (!is_array($video_doublon)) {
    redirect_header('index.php', 1, _MD_XTUBE_NOVIDEOLOAD);
    exit();
}
**/

// On affiche chaque entrée une à une
while ($arr $xoopsDB->fetchArray($result)) {
    
$videouid['title']     = $xtubemyts->htmlSpecialCharsStrip($arr['title']);
    
$videouid['lid']       = $arr['lid'];
    
$videouid['cid']       = $arr['cid'];
    
$videouid['vidsource'] = $arr['vidsource'];
    
$videouid['published'] = xoopstube_time(formatTimestamp($arr['published'], $xoopsModuleConfig['dateformat']));
    
$xoopsTpl->append('video_uid'$videouid);
    }

$xoopsOption['template_main'] = 'xoopstube_doublon.html';
include 
XOOPS_ROOT_PATH '/header.php';
$xoopsTpl->assign('video_uid'$videouid);
// Displays Back button
$xoopsTpl->assign(
    
'back''<a href="javascript:history.go(-1)"><img src="' XOOPS_URL '/modules/' $xoopsModule->getvar('dirname')
    . 
'/images/icon/back.png" /></a>'
); 
$xoopsTpl->assign('module_dir'$xoopsModule->getVar('dirname'));
include 
XOOPS_ROOT_PATH '/footer.php';
?>


La fin du code n'est pas bon, en fait j'ai laissé tel quel aprés avoir asséyer plusieurs truc, je sais pas trop comment afficher les infos.

et le template:

<link rel="stylesheet" type="text/css" href="<{$smarty.const.xoopstube_url}>/xtubestyle.css"/>
<{if 
$catarray.imageheader != ""}> <br/>
<
div class="xoopstube_header"><{$catarray.imageheader}></div>
<{/if}>



<
br/><br/>

<!-- 
Start loop -->

<
div class="xo-pagact" style="font-weight: bold; font-size: 110%;">&nbsp;liste des doublons
</div>

<
br/>
     

<{foreach 
item=video_doublon from=$video_uid}>
<
div style="margin-left: 10px;">
    <
a href="<{$xoops_url}>/modules/<{$video.module_dir}>/singlevideo.php?cid=<{$video_doublon.cid}>&amp;lid=<{$video_doublon.lid}>"><{$video_doublon.title}></a>
    (<{
$video_doublon.published}>)
</
div>
<{/foreach}>


Le résultat est une page vide.

ça va certainement vous sauter aux yeux, mais moi je capte rien, si vous pouviez me dire ou je foire mon coup, ça pourra m'aider.

Merci d'avance

ps:
A la fin de mon fichier php, est ce qu'il faut sortir chaque entré du tableau avant de pouvoir les afficher?
avec ceci:
$video['imageheader']  = xtube_imageheader();
$video['title']        = $video_doublon['tittle'];
$video['id']           = $video_doublon['lid'];
$video['cid']          = $video_doublon['cid'];
$video['vidsource']    = $video_doublon['vidsource'];


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

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