Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Smarty] Warunek w pętli foreach
Forum PHP.pl > Forum > Przedszkole
Kamil Rybczyński
Witam,
mam problem z pewnym fragmentem kodu w sklepie internetowym.
A mianowicie, fragment dotyczy form transportu ( poczta polska, dhl itp.)
Wszystkie formy transportu wgrywane są z bazy za pomocą pętli:

  1. <?php
  2. {foreach from=$formyTransportu item=t name=loop}
  3. <tr>
  4. <td colspan='4' style='background-color: #fff; text-align: left;'>
  5. {if $smarty.foreach.loop.first}
  6. <input checked='checked' type='radio' name='idTransport' value='{$t.IdFormaOdbioru}' id='transport{$t.IdFormaOdbioru}' />
  7. {else}
  8. <input type='radio' name='idTransport' value='{$t.IdFormaOdbioru}' id='transport{$t.IdFormaOdbioru}' />
  9. {/if}
  10. <label for='transport{$t.IdFormaOdbioru}'>{$t.Nazwa} - {$t.Cena|string_format:"%.2f"} PLN</label>
  11. <p style='padding-left:25px;'>
  12. {$t.Opis}
  13. </p>
  14. </td>
  15. </tr>
  16. {/foreach}
  17. ?>



Problem z tym rozwiązaniem polega na tym, że pętla wczytuje wszystkie elementy.
Ja chciałbym aby w przypadku gdy cena towaru nie przekracza 50 złotych, wczytywały się elementy, które mają w bazie w kolumnie Minimum cyfrę zero.

Jeśli natomiast cena towaru przekracza 50 złotych to chcę aby wczytały się elementy, które w kolumnie Minimum mają liczbę 50.



Zrobiłem warunek
  1. <?php
  2. {if $razem<50}
  3. ?>


i dalej wczytuje się pętla z elementami z bazy, ale jak zrobić w pętli foreach w smarty, aby pętla wczytywała tylko elementy, które mają pewną wartość w kolumnie Minimum, a nie wszystkie elementy z bazy?


Z góry dziękuję za pomoc i pozdrawiam.
qqrq
Albo ify w samym szablonie (podobnie jak pokazałeś), albo "przesiewasz" tablicę na poziomie samego PHP. Nic innego mi do głowy nie przychodzi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.