Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/smarty] porcjowanie
noc_nik
post 2.02.2009, 12:55:16
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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


--------------------
:)
Go to the top of the page
+Quote Post
isso
post 2.02.2009, 12:58:08
Post #2





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

Ostrzeżenie: (0%)
-----


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...

Ten post edytował isso 2.02.2009, 12:58:47


--------------------
Go to the top of the page
+Quote Post
noc_nik
post 2.02.2009, 13:20:37
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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

Ten post edytował noc_nik 2.02.2009, 13:25:43


--------------------
:)
Go to the top of the page
+Quote Post
Legro
post 2.02.2009, 13:23:01
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


Daj pod petla for

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

i zobacz co zwraca


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
noc_nik
post 2.02.2009, 13:26:59
Post #5





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


to cos smarty nie przerabia tego


--------------------
:)
Go to the top of the page
+Quote Post
Legro
post 2.02.2009, 13:29:55
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 3
Dołączył: 18.07.2005

Ostrzeżenie: (40%)
XX---


  1. {foreach item=stron1 from=$stron}
  2. <a href="news.php?limit_news={$stron1.stron_wynik}">{$stron1.stron_plus}</a></td>
  3. {/foreach}


--------------------
nospor - jestem z Wami !!!
Go to the top of the page
+Quote Post
adasiu
post 2.02.2009, 13:31:05
Post #7





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
noc_nik
post 2.02.2009, 13:39:56
Post #8





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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

Ten post edytował noc_nik 2.02.2009, 13:42:06


--------------------
:)
Go to the top of the page
+Quote Post
phpion
post 2.02.2009, 13:42:52
Post #9





Grupa: Moderatorzy
Postów: 6 065
Pomógł: 859
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Przecież w pętli za każdym razem nadpisujesz tablicę $stron, w wyniku czego będzie to tylko ta "ostatnia" tablica.
Go to the top of the page
+Quote Post
noc_nik
post 2.02.2009, 13:45:14
Post #10





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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?


--------------------
:)
Go to the top of the page
+Quote Post
adasiu
post 2.02.2009, 13:47:45
Post #11





Grupa: Zarejestrowani
Postów: 65
Pomógł: 7
Dołączył: 18.01.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


nie $stron a $stron[]
Go to the top of the page
+Quote Post
phpion
post 2.02.2009, 13:48:45
Post #12





Grupa: Moderatorzy
Postów: 6 065
Pomógł: 859
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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>
Go to the top of the page
+Quote Post
noc_nik
post 2.02.2009, 13:54:28
Post #13





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 24.06.2003
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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.


--------------------
:)
Go to the top of the page
+Quote Post
phpion
post 2.02.2009, 13:56:35
Post #14





Grupa: Moderatorzy
Postów: 6 065
Pomógł: 859
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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

Czytaj uważnie mój pierwszy post i post adasia.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
5 Użytkowników czyta ten temat (5 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.05.2020 - 11:30