Obrazky do viacerych riadkov
- cujan
- Člen | 410
Caute vykreslujem obrazky na stranku takto
<?php
<table id="obrazokPopis">
<tr>
{foreach $obrazky as $obrazok}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok -> nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{/foreach}
</tr>
</table>
?>
ako vykreslim obrazky do viacerych riadkov? napr. 4 na riadok, a ak ich bude 7 tak budu uz v dvoch 4 a 3
a este jedn avec, potrebujem v selecte z db aby ak sa nachadzaju rovnake
riadky s hodnotami tak nech sa vypise iba jedn – v sql prikaz DISTICT
myslim…ako ho uplatnit tu?
vdaka
Editoval cujan (30. 1. 2013 22:35)
- tomas.lang
- Člen | 53
Osobně bych to neřešil přes DISTINCT
, ale přes
GROUP BY
, tj. pokud by se měli napříklady duplikovat názvy
(smyšlený sloupeček nazev
), tak by to ve tvém kódě
místo takto:
<?php
{foreach $obrazky as $obrazok}
{* do something here ... *}
{/foreach}
?>
mohlo vypadat takto:
<?php
{foreach $obrazky->group('nazev') as $obrazok}
{* do something here ... *}
{/foreach}
?>
- cujan
- Člen | 410
takze obrazky do viacerych riadkov vypisujem tymto kodom
<?php
<table id="obrazokPopis">
{var $prechod = 0}
{foreach $obrazky as $obrazok}
{$prechod++}
{if $iterator->first}
<tr>
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok -> nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{elseif $prechod < 5}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok -> nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{elseif $prechod = 5}
</tr><tr>
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok -> nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{$prechod = 0}
{elseif $iterator->last}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok -> nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
</tr>
{/if}
{/foreach}
<tr>
</table>
?>
obrazky my vypise v pohode tak ako chcem, len nechapem preco pred prvy riadok s fotkami vypise vsetky hodnoty premennej $prechod .....
- Tabetha
- Člen | 140
takto by ti to nešlo?
<table id="obrazokPopis">
{foreach $obrazky as $obrazok}
{first 4}<tr>{/first}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok->nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{last 4}</tr>{/last}
{* Timto si nie som istý ;) *}
{if (count($obrazky) % 4) != 0}
</tr>
{/if}
{/foreach}
</table>
Editoval Tabetha (3. 2. 2013 20:45)
- cujan
- Člen | 410
prebehol som to, upravil a funguje … vdaka
<?php
<table id="obrazokPopis">
{foreach $obrazky as $obrazok}
{first 4}<tr>{/first}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok->nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{last 4}</tr>{/last}
{if (count($obrazky) % 4) == 0}
</tr> <tr>
{/if}
{/foreach}
</table>
?>
- Tabetha
- Člen | 140
Ono to nešlo lebo som zabudol to IF dať do {last}{/last} … takže takto by to fachať malo správne … ak teda chápem ako si to chcel mať
<table id="obrazokPopis">
{foreach $obrazky as $obrazok}
{first 4}<tr>{/first}
<td><image src="/atlasMineralov/www/images/naleziska/{$obrazok->nazovSuboru}" width="200" height="200" alt="{$obrazok -> popis}"></td>
{last 4}</tr>{/last}
{last}
{if (count($obrazky) % 4) != 0}
</tr>
{/if}
{/last}
{/foreach}
</table>
- kubajz
- Člen | 47
Elegantně dle dokumentace
{foreach $rows as $row}
{first}<table>{/first}
{first 4}<tr>{/first} {* nový řádek po 4 záznamech *}
<td>{$row->value}</td>
{last 4}</tr>{/last}
{last}</table>{/last}
{/foreach}