#61 2007-08-29 19:17:28

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

VDigital a écrit:

A mon avis tu t'écartes de la solution...
Pourquoi une seule table dans ta requête alors que tu as 2 tables?

Serait-ce la crainte de ne pas savoir faire une jointure ?

8-)

ben oui et non ... faut que je comprenne la syntaxe de la jointure... je m'y mets !!

tu sais en debut de semaine je savais pas aligné une ligne...
franchement je me suis éclaté à faire la partie admin. meme si je pense avoir reussi grace à tte les exples que j'ai pu trouvé ds pwg.

pour le JS je l'ai mis de coté pour la version 1.1 ;-))) si la 1.0 voit le jour ;-)

bon je test le plug de p@t et je m'y remet

merci pour ton aide. et merci pour m'avoir mis adviser sur ta galerie.

+

Dernière modification par sakkhho (2007-08-29 19:35:48)


Piwigo 2.3.5

Hors ligne

#62 2007-08-29 19:25:53

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Evolution] Nouvelles gestions des tags.

Aller, courage!!!
Faut dire, que c'est pas evident de se mettre au php avec un plugin qui utilise en plus la table de données...


P@t

Hors ligne

#63 2007-08-29 20:08:29

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

alors

j'vais tester ça

Code:

  $color_query = '
  SELECT  color 
  FROM ' . typetags_TABLE . '
  LEFT JOIN '. TAGS_TABLE .' 
  ON  id_typetags = id ;';

 $tagColor = pwg_query($color_query);

EDIT : je sais pas si c'est bon et en plus ca me renvoit ça :

Code:

  SELECT  color 
  FROM phpwebgallery_typetags
  LEFT JOIN phpwebgallery_tags 
  ON  id_typetags = id ;
[mysql error 1052] Column 'id' in field list is ambiguous

surrement par ce que j'ai 'id' dans les 2 tables... arfffffffff

vous confirmez ?

si oui comment je peux ecrire le ON  id_typetags = id ;';

du style  TAGS_TABLE.id_typetags = typetags_TABLE.id

Dernière modification par sakkhho (2007-08-29 23:14:03)


Piwigo 2.3.5

Hors ligne

#64 2007-08-29 23:03:43

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

sur http://dev.mysql.com/doc/refman/5.0/fr/join.html

j'ai bien SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;

mais ca marche pas... j'ai plus d'idée.

Dernière modification par sakkhho (2007-08-29 23:08:31)


Piwigo 2.3.5

Hors ligne

#65 2007-08-29 23:31:54

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: [Evolution] Nouvelles gestions des tags.

SELECT  tt.color
  FROM phpwebgallery_typetags AS tt
  LEFT JOIN phpwebgallery_tags AS t
  ON  tt.id_typetags = t.id ;

tt ou t sont des ALIAS internes à la requête.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#66 2007-08-30 09:50:46

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

ok,  j'aurai pas trouver ça tt seul !! merci
Dans l'idée je l'avais presques avec mon TAGS_TABLE.id_typetags = typetags_TABLE.id ....

Pour comprendre, le ""Column 'id' in field list is ambiguous"" etait present car j'ai 'id' dans les 2 tables et lors de la requete il sait pas lequel prendre ?


Piwigo 2.3.5

Hors ligne

#67 2007-08-30 16:58:28

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

grrrrrrr,  pourquoi est ce que le $tagColor renvoie Resource id #38 ---> Est ce que ca veut dire qq chose ?
il faut convertir ce resultat ?

EDIT :: whououoo  j'dois etre sur la bonne voie ! j'arrive a sortir une couleur

Code:

   $query  = '
 SELECT  tt.color
 FROM '.typetags_TABLE. ' AS tt 
 LEFT JOIN ' .TAGS_TABLE.' AS t 
 ON  t.id_typetags = tt.id ;'; 
 $result = pwg_query($query);
 
 $tagColor = mysql_result($result,'tt.color');

Dernière modification par sakkhho (2007-08-30 18:17:04)


Piwigo 2.3.5

Hors ligne

#68 2007-08-30 19:15:25

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

bon j'ai besoin d'un petit eclaircissement

dans tags.php j'ai ça

Code:

   foreach ($tags as $tag)  {     
$template->assign_block_vars( 'tag',
    array(
      'URL' => make_index_url( array( 'tags' => array($tag),  )  ),
      'NAME' => $tag['name'],
      'TITLE' => $tag['counter'],
      'CLASS' => 'tagLevel'.$tag['level'],
           )    );
}

est ce que ca passe en revu tous les Tags disponible et à chaque tags ca creer URL, Name etc ... c'est ca ?

parce que jessai d'inclure ma boucle (cf post au dessus) dans ce foreach en rajoutant un 'COLOR' => $tagColor, 
mais la couleur s'applique à tous les tags..

ma boucle ne doit pas convenir... il me faudrait plus de conditions... mais je sais pas faire.

la requete que je voudrai faire
c'est pour chaque tag allez voir si il y a un id_typetags, cette id_typetags correspodant à une id, couleur dans la table TYPETAGS
stocké cette couleur pour ce tag seulement...

help me ! j'suis dessus depuis 15h30 ...


Piwigo 2.3.5

Hors ligne

#69 2007-08-30 19:30:02

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Evolution] Nouvelles gestions des tags.

Je ne sais pas si c'est une bonne idée de lancer une requete sql à chaque tag, mais bon...
Ca me parait pas mal ton option...

Mais vu que j'ai pas trop suivi depuis le débuts, tu pourrais m'envoyer tout ton fichier pour que je vois à quoi ca ressemble tes modifs?


P@t

Hors ligne

#70 2007-08-30 19:37:06

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Evolution] Nouvelles gestions des tags.

Je ne comprend pas trop cette ligne:

ON  t.id_typetags = tt.id

Ca ne serait pas plutot:
    ON  tt.id_typetags = t.id


P@t

Hors ligne

#71 2007-08-30 19:42:02

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

p@t, je t'ai envoyé un mail


Piwigo 2.3.5

Hors ligne

#72 2007-08-30 19:43:21

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Evolution] Nouvelles gestions des tags.

Si je peux me permettre, j'aurai fait une requete sql avant le foreach, te donnant un tableau $tagColor avec comme clé les tags, et comme valeur la couleur...
Ainsi, dans le foreach, pour chaque tag, il suffit de vérifier si $tagColor[$tag] existe, et si oui, assigner la couleur correspondante...

EDIT: je regarde le mail

Dernière modification par P@t (2007-08-30 19:43:53)


P@t

Hors ligne

#73 2007-08-30 19:48:08

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

ouais tu as raison, je raisonnais pas comme il faut.... je t'ai envoyé les fichiers.
thks !

EDIT : qq chose ds le style
$query  = '
         SELECT  t.name, tt.color
         FROM '.typetags_TABLE. ' AS tt
         RIGHT JOIN ' .TAGS_TABLE.' AS t
         ON  t.id_typetags = tt.id
          ;';
       
          $tagColor = array_from_query($query, 'name');
correct ?

Dernière modification par sakkhho (2007-08-30 20:29:00)


Piwigo 2.3.5

Hors ligne

#74 2007-08-30 20:39:33

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: [Evolution] Nouvelles gestions des tags.

Non, t'avais raison pour les tt, je savais pas que t'avais rajouté une colonne dans la table des tags

Bon, voila la formule magique!

Code:

$query = '
SELECT  t.id , tt.color
FROM ' . typetags_TABLE . ' AS tt
INNER JOIN ' . TAGS_TABLE . ' AS t
ON  t.id_typetags = tt.id
WHERE  t.id_typetags IS NOT NULL ;';

$result = pwg_query($query);
$tagsColor = array();
while ($row = mysql_fetch_assoc($result)) {
    $tagsColor += array($row['id'] => $row['color']);
}

// display sorted tags
foreach ($tags as $tag) {
    $template->assign_block_vars('tag',
        array('URL' => make_index_url(array('tags' => array($tag))),
            'NAME' => $tag['name'],
            'TITLE' => $tag['counter'],
            'CLASS' => 'tagLevel' . $tag['level'],
            'COLOR' => (isset($tagsColor[$tag['id']]) ? $tagsColor[$tag['id']] : '')));
}

Explications:
La requete sql ne se fait qu'une seule fois, puis on génère un tableau $tagsColor avec comme clé l'id du tag, et comme valeur la couleur qui doit lui etre associée. Puis dans le foreach, si l'id du tag existe dans $tagsColors, on attribut la couleur, sinon, rien ''


Par contre, pour ta partie admin, j'ai plein de

Notice: Undefined index: global_rank in c:\documents and settings\pat\bureau\pwg\include\functions_category.inc.php on line 413

Notice: Undefined index: global_rank in c:\documents and settings\pat\bureau\pwg\include\functions_category.inc.php on line 300

Flop te dira que c'est pas grave, mais moi oui ;-)

EDIT: ce qui ne va pas dans la partie admin, ce sont ces 2 fonctions:

display_select_cat_wrapper($query, array(), 'existing_tag_list', false);
display_select_cat_wrapper($query, array(), 'existing_typetag_list', false);

Elles sont faites pour lister des catégories, et non des tags!

RE-EDIT: je t'ai envoyer tous ces correctifs par mail ;-)

Dernière modification par P@t (2007-08-31 02:17:48)


P@t

Hors ligne

#75 2007-08-31 10:28:59

sakkhho
Membre
Paris
2007-04-02
1836

Re: [Evolution] Nouvelles gestions des tags.

tout d'abord merci pour tout p@t.

néanmoins pour comprendre :

P@t a écrit:

Code:

while ($row = mysql_fetch_assoc($result)) {
    $tagsColor += array($row['id'] => $row['color']);
}

permet de construire un tableau de 2 colonnes 'id' et 'color' tant que la requete renvoie qq chose ?
le $tagsColor + permet de ajouter une nelle ligne ?

P@t a écrit:

Code:

 'COLOR' => (isset($tagsColor[$tag['id']]) ? $tagsColor[$tag['id']] : '')));

j'arrive pas a comprendre cette ligne
le ? doit etre pour 'si la valeur existe' donc je traduis ce que je comprend
si $tagsColor[$tag['id'] existe alors COLOR prend la valeur $tagsColor[$tag['id']] ... ? j'aurais mis $tagsColor[$tag['color']]....
a moins que l'id sert juste d'entrée ds le tableau est que  $tagsColor renvoi tjs color ...
j'ai du mal avec les tableaux...


modif faites pours les display_select_cat_wrapper ....

j'avais aussi ds l'idée d'afficher les tags associé a plat pour la dissociation comme tu le suggères (par mail), c'etait meme l'idée 1ere... mais  j'avais laissé un peu de coté pour finaliser l'autre partie comme je savais pas faire comme ca et qu'il m'aurait fallut du tps...

pour ton commentaire mettre la partie « recupérer les tags associé » après, sinon, il reliste les tags supprimés.
je l'avais remarqué mais j'savais pas faire, sufffisait de deplacer les blocs ;-)
ce qui parait logique de listé apres... encore fallait il y penser !

merci pour ton compliment
et je suis bien content que ca t'es donné envie de te mettre aux tags !!!

je continue !

@++

Dernière modification par sakkhho (2007-08-31 10:30:15)


Piwigo 2.3.5

Hors ligne

Pied de page des forums

Propulsé par FluxBB

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