Fork me on GitHub


 Bas   Précédent   Suivant

« 1 (2) 3 4 5 ... 412 »


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Citation :
celinefnac a écrit :
Bonjour,

Avec le dernier fichier dans le module cité plus haut, j'ai cette erreur :

Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /homez.353/touslesd/www/modules/xoopstube/recherche_complete_xoopstube.php on line 47


Merci de votre aide

Celine


PS : je dois vraiment faire le tri manuellement, car je choisit la catégorie que je garde..

l'interêt d'avoir le listing dans l'editeur ou excel, c'est de pouvoir effectuer mieux mon tri, manuellement justement.


Désolé pour la ligne 47, slider84 t'a bien donné la solution
C'était juste un souci de guillemets.

Pour ton tri, si tu nous dis plus précisément ce que tu veux, pas besoin de faire un détour dans excel, on peut directement trier comme on veut depuis la base de données.
Là déjà avec ce fichier, tu dois avoir sous les yeux de quoi trier plus facilement et en live sur ta base.

Posté le : 29/06/2013 19:49
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Pirate !

Posté le : 28/06/2013 15:22
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Avant de passer à la suite, fais une sauvegarde complète de ta base de données.
Tu peux créer une page web du nom que tu voudras, contenant le code suivant, et placer cette page dans ton dossier 'xoopstube'.
<?php
include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';

//utiliser le type de regroupement souhaité, en commentant l'une ou l'autre des lignes ci-dessous
$regroupement "vidid";
//$regroupement = "title";

if (isset($_GET['op'])) {$op $_GET['op'];}
else {
$_GET['op']="";}

if (
$_GET['op'] == "delete") {
        
// delete video
        
$sql 'DELETE FROM ' $xoopsDB->prefix('xoopstube_videos') . ' WHERE lid=' $_GET['lid'];
        
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        
// delete altcat
        
$sql 'DELETE FROM ' $xoopsDB->prefix('xoopstube_altcat') . ' WHERE lid=' $_GET['lid'];
        
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        
// delete vote data
        
$sql 'DELETE FROM ' $xoopsDB->prefix('xoopstube_votedata') . ' WHERE lid=' $_GET['lid'];
        
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        
// delete comments
        
$sql 'DELETE FROM ' $xoopsDB->prefix('xoopscomments') . ' WHERE (com_modid = "'.$xoopsModule->getVar('mid').'" AND com_itemid = "'.$_GET['lid'].'")';
        
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        
header('Location:'.$_SERVER['PHP_SELF']);
}

else {
    
$sql 'SELECT lid, cid, t1.title, t1.vidid, published
    FROM ' 
.$xoopsDB->prefix('xoopstube_videos').' AS t1
    INNER JOIN 
    ( 
    SELECT '
.$regroupement.
    FROM ' 
.$xoopsDB->prefix('xoopstube_videos').'
    GROUP BY '
.$regroupement.
    HAVING count('
.$regroupement.') > 1 
    ) 
    AS t2
    ON t1.'
.$regroupement.'=t2.'.$regroupement.
    ORDER BY t1.'
.$regroupement.' ASC';

    
$result $xoopsDB->query($sql);

    echo 
"Vidéos regroupées par : ".$regroupement."<br /><br />";
    echo 
"Cliquer sur le titre ou l'id pour accéder à la vidéo.<br /><br />";
    echo 
"<table>";
    echo 
"<tr><td width="25px">&nbsp;</td><td>ID</td><td>Titre</td><td>Vidid</td><td>Catégorie</td><td>Publié le</td></tr>";

    while (
$arr $xoopsDB->fetchArray($result)) {
        
$videouid['title']     = $xtubemyts->htmlSpecialCharsStrip($arr['title']);
        
$videouid['lid']       = $arr['lid'];
        
$videouid['cid']       = $arr['cid'];
        
$videouid['vidid']     = $arr['vidid'];
        
$videouid['published'] = xoopstube_time(formatTimestamp($arr['published'], $xoopsModuleConfig['dateformat']));

        echo 
'<tr><td><a href="' XOOPS_URL '/modules/' $xoopsModule->getVar('dirname') . '/doublons.php?op=delete&amp;lid='
                
$videouid['lid']  . '"><img src="' $xoopsModule->getInfo('icons16') . '/delete.png" alt="'
                
_MD_XTUBE_DELETE '" title="' _MD_XTUBE_DELETE '" style="vertical-align: middle;" /></a></td><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['lid'].'</a></td><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['title'].'</a></td><td>'.$videouid['vidid'] . '</td><td>'.xtube_cattitle($videouid['cid']).'</td><td>'.$videouid['published'].'<td></tr>';
    }
    echo 
"</table>";
}

include 
XOOPS_ROOT_PATH '/footer.php';

?>


Appelle ensuite cette page dans ton navigateur.
Par défaut, la recherche et le regroupement se font sur le vidid (tu peux changer ce comportement en regardant le début du code, tu as juste commenter une ligne, et à décomenter l'autre ligne).

En affichant cette page dans ton navigateur, tu devrais avoir la liste complète des vidéos en doublons.
Tu peux soit cliquer sur le nom de la vidéo, pour y accéder.
Soit supprimer directement la vidéo avec l'image prévue à cet effet.
ATTENTION : la suppression est immédiate et sans confirmation..
Elle supprime la vidéo, les votes et les commentaires associés (comme si tu passais par la suppression habituelle en fait, mais sans confirmation, histoire d'être plus efficace).
Lorsque tu as cliqué pour supprimer une vidéo, ça revient tout seul sur la page (sans l'élément supprimé bien entendu).

Ne donne le lien vers cette page à personne, je n'ai sécurisé aucune étape/requête, donc n'importe qui peut aller supprimer des vidéos, ou même accéder à ta base de données s'il avait accès à cette page).

Posté le : 28/06/2013 14:21
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Pourquoi tu veux à tout prix aller coller ça dans excel ou un éditeur de texte ?

Posté le : 28/06/2013 13:35
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Citation :
celinefnac a écrit :
Bonjour,

Est ce que vous pourriez donc me réecrire la dernière requête qui fonctionne ?, à savoir :

SELECT t1.vidid
FROM xj13_xoopstube_videos AS t1
INNER JOIN
(
SELECT vidid
FROM xj13_xoopstube_videos
GROUP BY vidid
HAVING count(vidid) > 1
)
AS t2
ON t1.vidid=t2.vidid
ORDER BY t1.vidid ASC



***

pour que ça recherche sur les titres de la video, car je ne voudrais pas faire de bêtises...

Merci beaucoup.


Celine



Et pour PhpMyAdmin, voici la requête pour le tri sur le titre :
Tu auras peut-être un résultat différent de la première requête, puisque tu peux très bien avoir mis 2 titres identiques, avec 2 vidéos différentes (tout comme tu aurais pu mettre 2 fois la même vidéo avec un titre différent).

SELECT lidcidt1.vididt1.titlepublished
FROM xj13_xoopstube_videos 
AS t1 
INNER JOIN 

SELECT title
FROM xj13_xoopstube_videos 
GROUP BY title
HAVING count
(title) > 

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

Posté le : 28/06/2013 10:14
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Et voici la version avec la requête de recherche sur le titre
<?php
include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';

$sql 'SELECT lid, cid, t1.vidid, t1.title, published
FROM ' 
.$xoopsDB->prefix('xoopstube_videos').' AS t1 
INNER JOIN 

SELECT title
FROM ' 
.$xoopsDB->prefix('xoopstube_videos').'
GROUP BY title
HAVING count(title) > 1 

AS t2
ON t1.title=t2.title
ORDER BY t1.title ASC'
;

$result $xoopsDB->query($sql);

echo 
"Vidéos regroupées par titre de la vidéo (title).<br /><br />";
echo 
"Cliquer sur le titre ou l'id pour accéder à la vidéo.<br /><br />";
echo 
"<table>";
echo 
"<tr><td>ID</td><td>Titre</td><td>Vidid</td><td>Catégorie</td><td>Publié le</td></tr>";

while (
$arr $xoopsDB->fetchArray($result)) {
    
$videouid['title']     = $xtubemyts->htmlSpecialCharsStrip($arr['title']);
    
$videouid['lid']       = $arr['lid'];
    
$videouid['cid']       = $arr['cid'];
    
$videouid['vidid']     = $arr['vidid'];
    
$videouid['published'] = xoopstube_time(formatTimestamp($arr['published'], $xoopsModuleConfig['dateformat']));

    echo 
'<tr><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['lid'].'</a></td><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['title'].'</a></td><td>'.$videouid['vidid'] . '</td><td>'.$videouid['cid'].'</td><td>'.$videouid['published'].'<td></tr>';
}
echo 
"</table>";

include 
XOOPS_ROOT_PATH '/footer.php';
?>

Posté le : 28/06/2013 10:11
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Alors pour commencer, attention, tu n'as pas 29 résultats, mais 601 en tout.
Par défaut, phpmyadmin n'en affiche que 30 (0 à 29).

Je t'ai refait mon fichier php avec la requête méthode slider94
Essaie de coller ce code dans un fichier .php, dans ton dossier 'xoopstube'.
Et ouvre ce fichier dans ton navigateur.
Si tu as tous les résultats affichés, tu viens nous le dire, et on avisera pour te faire supprimer tes doublons (il faudra nous dire quels sont tes critères de suppression : telle vidéo plutôt que telle autre).

<?php
include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';

$sql 'SELECT lid, cid, title, t1.vidid, published
FROM ' 
.$xoopsDB->prefix('xoopstube_videos').' AS t1 
INNER JOIN 

SELECT vidid 
FROM ' 
.$xoopsDB->prefix('xoopstube_videos').'
GROUP BY vidid 
HAVING count(vidid) > 1 

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

$result $xoopsDB->query($sql);

echo 
"Vidéos regroupées par identifiant de la vidéo (vidid).<br /><br />";
echo 
"Cliquer sur le titre ou l'id pour accéder à la vidéo.<br /><br />";
echo 
"<table>";
echo 
"<tr><td>ID</td><td>Titre</td><td>Vidid</td><td>Catégorie</td><td>Publié le</td></tr>";

while (
$arr $xoopsDB->fetchArray($result)) {
    
$videouid['title']     = $xtubemyts->htmlSpecialCharsStrip($arr['title']);
    
$videouid['lid']       = $arr['lid'];
    
$videouid['cid']       = $arr['cid'];
    
$videouid['vidid']     = $arr['vidid'];
    
$videouid['published'] = xoopstube_time(formatTimestamp($arr['published'], $xoopsModuleConfig['dateformat']));

    echo 
'<tr><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['lid'].'</a></td><td><a href="singlevideo.php?cid='.$videouid['cid'].'&lid='.$videouid['lid'].'" target="_blank">'.$videouid['title'].'</a></td><td>'.$videouid['vidid'] . '</td><td>'.$videouid['cid'].'</td><td>'.$videouid['published'].'<td></tr>';
}
echo 
"</table>";

include 
XOOPS_ROOT_PATH '/footer.php';
?>

Posté le : 28/06/2013 10:07
Transférer la contribution vers d'autres applications Transférer


Re: Mon site semble verolé périodiquement et devient une page blanche
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Là comme ça, je ne vois pas. Il faudrait que j'ai la main sur le site (voire le ftp, en cas de fichiers manquants ?) pour essayer de comprendre.

Posté le : 27/06/2013 09:17
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Citation :
celinefnac a écrit :
avec ta nouvelle requête = idem !

merdum !!!

là, je suis sur https://phpmyadmin.ovh.net/index.php


pour en local, il faudrait que je reinstalle tout, car j'ai pas installé le site en local, je travaille en direct...



merci de ton aide

celine


Pas besoin de remonter tout le site.
Tu exportes ta base de données, tu l'injectes en local chez toi, et tu utilises directement phpmyadmin avec nos requêtes.
Pas besoin d'avoir les fichiers du site (modules, etc).
C'est juste pour tester.

Posté le : 27/06/2013 09:01
Transférer la contribution vers d'autres applications Transférer


Re: xoopstube: index : liste alphabetique qui commence par les nombres :0123...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Citation :
slider84 a écrit :
@blueteen:
Citation :
SELECT *
FROM xe62_xoopstube_videos
WHERE vidid IN (
SELECT vidid
FROM xe62_xoopstube_videos
GROUP BY vidid
HAVING count(vidid) > 1
)
ORDER BY vidid

Le SELECT IN SELECT peut aussi remonter ce code d'erreur et peut également dans certains cas être catastrophique au niveau ressources et temps d'exécution.
Perso, j'aurais opté pour une requête de ce genre avec une jointure "standard" qui pose moins de problèmes et est surtout beaucoup plus rapide (je l'utilise sur des tables de plusieurs millions d'enregistrements):
SELECT 
FROM xe62_xoopstube_videos AS t1 
INNER JOIN 
(
SELECT vidid 
FROM xe62_xoopstube_videos 
GROUP BY vidid 
HAVING count
(vidid) > 1

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



Ah ça je ne doute pas que ma requête soit à optimiser, j'ai fait ça vite fait, et je ne suis vraiment pas développeur :p

Posté le : 27/06/2013 08:58
Transférer la contribution vers d'autres applications Transférer



 Haut
« 1 (2) 3 4 5 ... 412 »




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

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