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:
<?php //klikniety artykuł $art_id_selected = $_GET['art_id']; $smarty -> assign('art_id_selected', $art_id_selected); $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"); $all_folders[$i]['seq_cat_id']=$r["seq_cat_id"]; $all_folders[$i]['seq_art_id']=$r["seq_art_id"]; $all_folders[$i]['cat_id']=$r["cat_id"]; $all_folders[$i]['cat_name']=$r["cat_name"]; $smarty -> assign('all_folders', $all_folders); $i++; } ?>
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>
{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