Mam mały problem z pętlą foreach. Mam taki kod PHP:
<?php $categories = $db -> get_results("SELECT * FROM `categories`"); if($countcategories > 0) { foreach ($categories as $cat) { $row['id'] = $cat -> id; $row['title'] = $cat -> title; $categories2[] = $row; $photos = $db -> get_results("SELECT * FROM `photos` WHERE `cat`='".$cat -> id."'"); if($countphotos > 0) { foreach ($photos as $photo) { $row2['id'] = $photo -> id; $row2['cat'] = $photo -> cat; $row2['title'] = $photo -> title; $row2['image'] = $photo -> image; $photos2[] = $row2; } $smarty -> assign('photos'.$cat->id, $photos2); $photos2 = ''; } } $smarty -> assign('categories', $categories2); } ?>
Chyba nie muszę go opisywać. I mam w pliku tpl taki kod:
Najpierw wykonuje się pętla foreach, która wyświetla kategorie, a w niej następna która wyświetla zdjęcia. I tutaj zaczyna się problem. W pliku PHP przypisałem tabele ze zdjęciami $photos2 do nazwy zmiennej 'photosnumerkategorii'
<?php $smarty -> assign('photos'.$cat->id, $photos2); ?>
Jeżeli w drugiej pętli foreach jako argument from dam np. $photos2, gdzie dwójka to numer ID kategorii to wyświetla odpowiednie zdjęcia należące do kategorii 2 itd. Niestety nie wiem jak zrobić aby było to zależne od poprzedniej pętli, bo moje rozwiązanie nie działa: $photos$cat.id.
Proszę o pomoc, bo już nie wiem jak to zrobić. Chyba wszystkiego co znam już próbowałem.
Pozdrawiam.
Decha
P.S. Jaśniej tego opisać nie potrafię. Mam nadzieję, że wiecie o co chodzi.