Fork me on GitHub




(1) 2 »


Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Bonsoir à tous,

J'ai mis sur mon site le hack Isearch autocompletion https://www.frxoops.org/modules/newbb/ ... p?forum=12&topic_id=24080

Le hack d'origine va chercher les keywords dans une table d'Isearch
function ajaxMostSearched($searchword$limit)
    {
        
$ts =& MyTextSanitizer::getInstance();
        
$ret = array();
        
$sql "SELECT Count(keyword) AS cpt, keyword FROM ".$this->db->prefix('isearch_searches').' WHERE keyword LIKE ''.$searchword.'%' GROUP BY keyword ORDER BY cpt desc';
        
$result $this->db->query($sql);
        while (
$myrow $this->db->fetchArray($result)) {
            
$ret[] = $myrow['keyword'];
        }
        return 
$ret;
    }


Je veux modifier ce hack pour qu'il aille chercher des résultats dans les tables de mes modules, par exp dans la table 'stories' j'ai fait comme ça
function ajaxMostSearched($searchword$limit)
    {
        
$ts =& MyTextSanitizer::getInstance();
        
$ret = array();
        
$sql 'SELECT title FROM '.$this->db->prefix('stories').' WHERE title LIKE '%'.$searchword.'%'';
        
$result $this->db->query($sql);
        while (
$myrow $this->db->fetchArray($result)) {
            
$ret[] = $myrow['title'];
        }
        return 
$ret;
    }


je n'arrive pas à trouver la requête valide pour faire des recherches dans plusieurs tables,
- table "stories" , champ "title"
- table "smartsection_items", champ "title"
- table "wfdownloads_downloads, champ "title"
un petit coup de pouce m'aiderait à trouver cette requête

je trouve que sur ce site l'autocomplétion est très réussie

Posté le : 09/03/2009 21:07

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
c'est vrai qu'il est super cette autocompletion j'ai trouver ce site si sa peut te servire

http://dcabasson.developpez.com/artic ... autocompletion-pas-a-pas/

et celui la

http://www.j0k3r.net/ajax-une-autocom ... on-avancee-en-ajax-6.html

le petit dernier pour la route qui est trés joli aussi

http://nodstrum.com/2007/09/19/autocompleter/

Posté le : 09/03/2009 22:43
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Aspirant
Inscrit: 08/09/2008 14:45
Messages: 35
$sql 'SELECT title FROM '.$this->db->prefix('stories').' WHERE title LIKE '%'.$searchword.'%'';


=

SQL INJECTION


function ajaxMostSearched($searchword$limit)
    {
        
$ts =& MyTextSanitizer::getInstance();
                
                
//clean it
                
$searchword $ts->addSlashes($searchword);

        
$ret = array();
        
$sql "SELECT Count(keyword) AS cpt, keyword FROM ".$this->db->prefix('isearch_searches').' WHERE keyword LIKE ''.$searchword.'%' GROUP BY keyword ORDER BY cpt desc';
        
$result $this->db->query($sql);
        while (
$myrow $this->db->fetchArray($result)) {
            
$ret[] = $myrow['keyword'];
        }
        return 
$ret;
    }



You can also try My search module:
http://www.xuups.com/modules/publisher/item.php?itemid=4

Posté le : 10/03/2009 02:34
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
@ Trabis : je suis un peu newbie dans les codes et je comprends pas tout ce qu'on me dit

- il y a des risques dans la requête , c'est ça ?
- même dans celle d'origine , donc je dois modifier comme tu me le montres ?
- A quoi sert cette ligne rajoutée ?
//clean it
$searchword $ts->addSlashes($searchword);


Je vais essayer le module que tu me proposes

@ grosdunord , thanks pour les liens, y a encore de quoi s'arracher les cheveux

Posté le : 10/03/2009 08:58

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
de rien avec plaisir

j'ai aussi plusieur requete différente mais j'ay arrive pas non plus :(

Posté le : 10/03/2009 12:59
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
toujours pas trouvé de solution nikita ?

Posté le : 11/03/2009 16:07
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
pour l'instant rien, de plus je viens de me rendre compte que lorsque j'ai l'autocompletion active , le slideshow d'extgallery ne fonctionne plus.
Tu arrives d'un côté ça foire de l'autre.

Posté le : 11/03/2009 17:33

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
bonjour
si tu ouvre la console d'erreur de firefox, qu'affiche t'il ?
JJDAI

Posté le : 11/03/2009 19:43

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Citation :

JJDai a écrit:
la console d'erreur de firefox


Kezako ?

pour le script j'ai un peu progressé

function ajaxMostSearched($searchword$limit)
    {
        
$ts =& MyTextSanitizer::getInstance();
        
$ret = array();
        
$sql 'SELECT title FROM '.$this->db->prefix('wfdownloads_downloads').' WHERE title LIKE '%'.$searchword.'%' AND offline=0 
        uni-on SELECT title FROM '
.$this->db->prefix('x_movie').' WHERE title LIKE '%'.$searchword.'%' AND status>0';
        
$result $this->db->query($sql);
        while (
$myrow $this->db->fetchArray($result)) {
            
$ret[] = $myrow['title'];
            }
        return 
$ret;
    }

mais j'aimerais que les pros me signalent si je fais des erreurs...

Posté le : 11/03/2009 22:42

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Modification Hack isearch autocompletion ajax avec prototype + scriptaculous
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
Bonjour
Citation :
Quezako console d'erreur ???

dans firefox sélectionne dans le menu "outils" l'item "console d'erreur".
Une fenêtre s'ouvre qui indique toutes les erreurs javascript rencontrées.
avant de regarder ce qu'il y a dans cette fenêtre clique sur 'effacer" l'icône complètement a droite, pour vider la fenêtre.
sans fermer cette fenêtre rafraichi la fenêtre de ta page et reviens sur la console d'erreur.
Si elle est vide c'est le pérou, mais je doute.
Le erreurs critique sont signalé par un rond rouge avec une croix blanche, ce sont ces erreurs la qu'il faut repérer.

JJDAI

Posté le : 12/03/2009 00:18

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
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

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