Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [php/smarty] porcjowanie

Napisany przez: noc_nik 2.02.2009, 12:55:16

Witam Serdecznie

mam taki problem ze smarty raczej:


  1. <?php
  2. for($i = 0;$i<=http://www.php.net/floor(($iloscWpisow-1)/NEWS_NA_STRONIE);$i++){
  3.                   $stron = http://www.php.net/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. <http://december.com/html/4/element/table.html>
  2. <http://december.com/html/4/element/tr.html>
  3. <http://december.com/html/4/element/td.html>Stron :</http://december.com/html/4/element/td.html><http://december.com/html/4/element/td.html>
  4.  
  5. {foreach item=stron from=stron}
  6. <http://december.com/html/4/element/a.html href="news.php?limit_news={$stron.stron_wynik}">{$stron.stron_plus}</http://december.com/html/4/element/a.html></http://december.com/html/4/element/td.html>
  7. {/foreach}
  8. </http://december.com/html/4/element/tr.html>
  9. </http://december.com/html/4/element/table.html>


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

Napisany przez: isso 2.02.2009, 12:58:08

Cytat(noc_nik @ 2.02.2009, 12:55:16 ) *
....
  1. <?php
  2. for($i = 0;$i<=http://www.php.net/floor(($iloscWpisow-1)/NEWS_NA_STRONIE);$i++){
  3.                   $stron = http://www.php.net/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...

Napisany przez: noc_nik 2.02.2009, 13:20:37

nadal mi wyskakuje "s" zamiast 1,2,3,4,...


a wystarczy ze w php wsatwie

  1. <?php
  2. http://www.php.net/echo($i+1);
  3. ?>


i zwaraca mi wynik ze ma 1,2,3 stron

Napisany przez: Legro 2.02.2009, 13:23:01

Daj pod petla for

  1. <?php
  2. http://www.php.net/echo '<pre>';
  3. http://www.php.net/print_r($stron);
  4. ?>

i zobacz co zwraca

Napisany przez: noc_nik 2.02.2009, 13:26:59

to cos smarty nie przerabia tego

Napisany przez: Legro 2.02.2009, 13:29:55

  1. {foreach item=stron1 from=$stron}
  2. <http://december.com/html/4/element/a.html href="news.php?limit_news={$stron1.stron_wynik}">{$stron1.stron_plus}</http://december.com/html/4/element/a.html></http://december.com/html/4/element/td.html>
  3. {/foreach}

Napisany przez: adasiu 2.02.2009, 13:31:05

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. <http://december.com/html/4/element/a.html href="news.php?limit_news={$str.stron_wynik}">{$str.stron_plus}</http://december.com/html/4/element/a.html></http://december.com/html/4/element/td.html>
  3. {/foreach}

powinno działać...
pozdrawiam

Napisany przez: noc_nik 2.02.2009, 13:39:56

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

Napisany przez: phpion 2.02.2009, 13:42:52

Przecież w pętli za każdym razem nadpisujesz tablicę $stron, w wyniku czego będzie to tylko ta "ostatnia" tablica.

Napisany przez: noc_nik 2.02.2009, 13:45:14

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?

Napisany przez: adasiu 2.02.2009, 13:47:45

nie $stron a $stron[]

Napisany przez: phpion 2.02.2009, 13:48:45

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>

Napisany przez: noc_nik 2.02.2009, 13:54:28

Patrz uważnie




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


tpl

  1. <http://december.com/html/4/element/table.html>
  2. <http://december.com/html/4/element/tr.html>
  3. <http://december.com/html/4/element/td.html>Stron :</http://december.com/html/4/element/td.html><http://december.com/html/4/element/td.html>
  4. <http://december.com/html/4/element/a.html href="news.php?limit_news={$stron.stron_wynik}">{$stron.stron_plus}</http://december.com/html/4/element/a.html></http://december.com/html/4/element/td.html>
  5. </http://december.com/html/4/element/tr.html>
  6. </http://december.com/html/4/element/table.html>


nie uzywajac foreach , problemem jest WYNIK tylko jeden! tak jak sam zauwazyles ostatni.

Napisany przez: phpion 2.02.2009, 13:56:35

Cytat(noc_nik @ 2.02.2009, 15:54:28 ) *
Patrz uważnie

Czytaj uważnie mój pierwszy post i post adasia.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)