Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/smarty] porcjowanie
Forum PHP.pl > Forum > Przedszkole
noc_nik
Witam Serdecznie

mam taki problem ze smarty raczej:


  1. <?php
  2. for($i = 0;$i<=floor(($iloscWpisow-1)/NEWS_NA_STRONIE);$i++){
  3.                   $stron = array(
  4.                
  5.                    $stron_wynik    => $i,
  6.                    $stron_plus        => $i+1
  7.                
  8.                );
  9.                }
  10.                
  11.                $smarty->assign("stron",$stron);
  12.                $smarty->display("news_sort.tpl");
  13. ?>



tpl

  1. <tr>
  2. <td>Stron :</td><td>
  3.  
  4. {foreach item=stron from=stron}
  5. <a href="news.php?limit_news={$stron.stron_wynik}">{$stron.stron_plus}</a></td>
  6. {/foreach}
  7. </tr>


wynik mi zwraca jako "s" zamiast cyferek, mysle ze to bedzie cos nie tak z foreach w smarty no ale jestm zielony w tym wiec nie wiem jak to poprawic...


Dziekuje za odpowiedzi pozdrawiam
isso
Cytat(noc_nik @ 2.02.2009, 12:55:16 ) *
....
  1. <?php
  2. for($i = 0;$i<=floor(($iloscWpisow-1)/NEWS_NA_STRONIE);$i++){
  3.                   $stron = array(
  4.                
  5.                    $stron_wynik    => $i,
  6.                    $stron_plus        => $i+1
  7.                
  8.                );
  9.                }
  10.                
  11.                $smarty->assign("stron",$stron);
  12.                $smarty->display("news_sort.tpl");
  13. ?>


Wydaje mi się, że tu masz błąd... zamiast
Kod
$stron_wynik
powinno być chyba
Kod
'stron_wynik'
i tak samo ze $stron_plus...
noc_nik
nadal mi wyskakuje "s" zamiast 1,2,3,4,...


a wystarczy ze w php wsatwie

  1. <?php
  2. echo($i+1);
  3. ?>


i zwaraca mi wynik ze ma 1,2,3 stron
Legro
Daj pod petla for

  1. <?php
  2. echo '<pre>';
  3. print_r($stron);
  4. ?>

i zobacz co zwraca
noc_nik
to cos smarty nie przerabia tego
Legro
  1. {foreach item=stron1 from=$stron}
  2. <a href="news.php?limit_news={$stron1.stron_wynik}">{$stron1.stron_plus}</a></td>
  3. {/foreach}
adasiu
po pierwsze dodajemy kolejne rekordy a więc przy przypisaniu do tablicy numerycznej nie $stron a $stron[] a w smarty
  1. {foreach from=$stron item='str'}
  2. <a href="news.php?limit_news={$str.stron_wynik}">{$str.stron_plus}</a></td>
  3. {/foreach}

powinno działać...
pozdrawiam
noc_nik
katastrofa "s" wstydnis.gif chyba {/foreach} w smarty sie gryzie z for(){};

tylko jak zrobic petle w smarty / lub wyswietlic wiele wynikow nie uzywajac jej lol
phpion
Przecież w pętli za każdym razem nadpisujesz tablicę $stron, w wyniku czego będzie to tylko ta "ostatnia" tablica.
noc_nik
Cytat(phpion @ 2.02.2009, 15:42:52 ) *
to tylko ta "ostatnia" tablica.


tak tu sie z Toba zgodze -> ale jak wyswietlic "wyniki" w smarty aby sie nie gryzfy 2 petle for i smarty foreach?
adasiu
nie $stron a $stron[]
phpion
W Smartach chcesz trzaskać 2 pętle for (jak rozumiem phpowe) oraz jeszcze foreach (smartowe)? No to gratuluję pomysłowości. Przedstaw lepiej dokładnie problem bo po takich ogólnikach to można tylko ręce załamać.

PS: i olej Smarty na rzecz standardowego "systemu szablonów" czyli:
  1. <ul>
  2. <?php for($i=1; $i<=10; $i++): ?>
  3. <li><?= $i ?></li>
  4. <?php endfor; ?>
  5. </ul>
noc_nik
Patrz uważnie




  1. <?php
  2. for($i = 0;$i<=floor(($iloscWpisow-1)/NEWS_NA_STRONIE);$i++){
  3.    echo($i+1);
  4.            $stron = array(
  5.              
  6.            'stron_wynik'    => ($i),
  7.            'stron_plus'     => ($i+1)
  8.              
  9.            );
  10.            }
  11. ?>


tpl

  1. <tr>
  2. <td>Stron :</td><td>
  3. <a href="news.php?limit_news={$stron.stron_wynik}">{$stron.stron_plus}</a></td>
  4. </tr>


nie uzywajac foreach , problemem jest WYNIK tylko jeden! tak jak sam zauwazyles ostatni.
phpion
Cytat(noc_nik @ 2.02.2009, 15:54:28 ) *
Patrz uważnie

Czytaj uważnie mój pierwszy post i post adasia.
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-2020 Invision Power Services, Inc.