Witam, mam mały problem, wydaje mi się że takie rozwiązanie powinno działać ale nie działą do końca tak jak chcę

posiadam dwie tabele:

1). zawiera wszystkie kategorie 'gr_categories'
Kod
| cat_id | cat_name |
+--------+----------+


2). łączy artykuły z kategoriami 'gr_seq_cat_art' (w jednej kolumnie jest id artykułu w drugiej id kategorii)
Kod
| seq_art_id | seq_cat_id |
+------------+------------+


w pliku PHP mam:
  1. <?php
  2. //klikniety artykuł
  3. $art_id_selected = $_GET['art_id'];
  4. $smarty -> assign('art_id_selected', $art_id_selected);
  5. $drzewo_folderow=mysql_query("SELECT gr_categories.*, gr_seq_cat_art.* FROM gr_categories LEFT JOIN gr_se
    q_cat_art ON gr_categories.cat_id=gr_seq_cat_art.seq_cat_id"
    );
  6. while($r=mysql_fetch_assoc($drzewo_folderow)) {
  7. $all_folders[$i]['seq_cat_id']=$r["seq_cat_id"];
  8. $all_folders[$i]['seq_art_id']=$r["seq_art_id"];
  9. $all_folders[$i]['cat_id']=$r["cat_id"];
  10. $all_folders[$i]['cat_name']=$r["cat_name"];
  11. $smarty -> assign('all_folders', $all_folders);
  12. $i++;
  13. }
  14. ?>

Natomiast w pliku *.tpl mam:
Kod
<select size="10" multiple="multiple">
    {foreach from=$all_folders item=all_folders}
        <option value="{$all_folders.cat_id}" {if $all_folders.seq_art_id == $art_id_selected}selected="selected"{/if}>{$all_folders.cat_name}</option>
    {/foreach}
</select>


Założenie jest takie żeby wyświetlić całe drzewo kategorii i zaznaczyć te do których jest przypisany artykuł w tabeli 'gr_seq_cat_art', bo może być przypisany do kilku kategorii.

Problem w tym że wyświetlane kategorie się powtarzają, a nie chce żeby się powtarzały:/

Z góry dziękuje;)

chyba udało mi się znaleść rozwiązanie

Kod
SELECT gr_categories.*, gr_seq_cat_art.* FROM gr_categories LEFT JOIN gr_seq_cat_art ON gr_categories.cat_id=gr_seq_cat_art.seq_cat_id AND gr_seq_cat_art.seq_art_id='$art_id_selected' GROUP BY gr_categories.cat_id


narazie zachowuje się tak jak powinien, ale proszę jeszcze żeby ktoś lepiej się na tym znający zerkną swoim okiem na to zapytanie.

Pozdrawiam