Annonce

  •  » Plugins
  •  » Problème avec création de plugin perso avec requete SQL

#1 2012-08-24 22:30:14

notph
Membre
2011-08-02
60

Problème avec création de plugin perso avec requete SQL

Bonjour,

Je cherche à afficher une liste des tags et des noms d'albums. Le but étant de créer une liste capable d'être utilisée par un système de suggestion (je sais que c'est prévu en 2.5 mais j'ai un besoin spécifique)

Voici mon code:


add_event_handler('loc_begin_header', 'notph1' );

function notph1 ()
{
global $page, $template, $conf;


    $query = '
    SELECT name
      FROM piwigo_categories, piwigo_tags;';

    $result = pwg_query($query);

    while ($suggest = pwg_db_fetch_assoc($result))
    {
         
          $sug= '"'.$suggest['$name'].'",';
          $suggestion = $suggestion.$sug;
    }


  $template->assign('SUGGESTIONS', $suggestion );

}

Enfin dans mon tpl du header j'affiche avec {$SUGGESTIONS}

Cependant le resultat reste vide. Même si je déclare $suggestion = 'Hello World'; après le while, forçant ainsi la variable à avoir une valeur.

J'ai du me tromper au début mais je n'arrive pas à trouver.



Sinon pour info, j'utilise Autocomplete de jQuery UI (http://jqueryui.com/demos/autocomplete/#default) cela marche à merveille sur mon thème (Stripped modifié) mais je veux accéder à la liste des tags et noms d'albums afin de les rendre disponible au script de suggestion.

Merci d'avance,

Dernière modification par notph (2012-08-24 22:31:21)

Hors ligne

#2 2012-08-24 22:42:37

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Problème avec création de plugin perso avec requete SQL

Code:

$sug= '"'.$suggest['$name'].'",';

et avec du php correct

Code:

$sug= '"'.$suggest['name'].'",';

ça marche ?

et votre requête sql vous êtes sur qu'elle fonctionne (testé dans phpMyAdmin) parce que je n'ai jamais vu cette syntaxe (select sur deux tables sans join/where)

edit: non elle ne fonctionne pas "#1052 - Column 'name' in field list is ambiguous", il vaut mieux faire deux requetes distinctes

Hors ligne

#3 2012-08-24 22:45:41

notph
Membre
2011-08-02
60

Re: Problème avec création de plugin perso avec requete SQL

Effectivement erreur pour le $name.

Mais rien de nouveau.

J'ai simplifié ma requete en ne mettant qu'une seule table mais rien de nouveau non plus.

Je pensais plus à une erreur de syntaxe dans mon plugin plus que dans la requete? Car même lorsque je déclare une valeur pour ma variable je n'ai rien qui s'affiche.

Hors ligne

#4 2012-08-24 22:56:56

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Problème avec création de plugin perso avec requete SQL

ça m'apprendra à lire trop vite

mais en fait il n'y a pas de trigger 'loc_begin_header', donc votre fonction n'est jamais executée

la liste des triggers est dispo dans http://monsite/tools/triggers_list.php
ou ici

Hors ligne

#5 2012-08-24 23:01:51

notph
Membre
2011-08-02
60

Re: Problème avec création de plugin perso avec requete SQL

J'ai remplacé par "loc_begin_page_header" mais toujours rien

Hors ligne

#6 2012-08-24 23:09:17

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Problème avec création de plugin perso avec requete SQL

vous vaez purgé les template compilés ?

Hors ligne

#7 2012-08-24 23:13:16

notph
Membre
2011-08-02
60

Re: Problème avec création de plugin perso avec requete SQL

Je viens de la faire mais aucun changement... Je ne comprend pas ou peut être le problème.

Dans mon header.tpl tout semble correct. Et du point de vue plugin je ne vois pas non plus.

Hors ligne

#8 2012-08-25 02:01:41

notph
Membre
2011-08-02
60

Re: Problème avec création de plugin perso avec requete SQL

Impossible de le faire marcher avec le plugin personnel, je dois avoir une incompatibilité quelque pars, je n'arrive même plus à faire marcher un ancien code d'avant 2.4.3.

Sinon, en mettant ça en brut dans le tpl j'arrive au résultat voulu:

      {/literal}{php}
              global $page, $template, $conf;


    $query = '
    SELECT name
      FROM piwigo_categories ;';

    $result = pwg_query($query);

    while ($suggest = pwg_db_fetch_assoc($result))
    {
         
          $sug= '"'.$suggest['name'].'",';
          $suggestion = $suggestion.$sug;
    }
                   
                   echo $suggestion;
                 
                   {/php}{literal}

Le literal est là pour le script jQUERY qui ne s'interprete pas sans.

Merci en tout cas pour l'aide.

Hors ligne

  •  » Plugins
  •  » Problème avec création de plugin perso avec requete SQL

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact