Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Problem z loop
--ado--
post
Post #1





Goście







Witam. Uczę się tworzyć templatki. Mam jeden problem z pętlą while:

Tak wygląda mój kod php.
  1. <?php
  2. $sql = mysql_query("SELECT * FROM changes WHERE qid = '$p' AND module='pages'");
  3. while($row = mysql_fetch_array($sql))
  4. {
  5. $tpl->assign("changes",$row);
  6. }
  7. ?>


I Smarty:
Kod
<tr><td>
{section name=i loop=$changes}
{$changes[i][descr]}<br/>
{/section}
</td></tr>


Kod z tplu się nie wykonuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Heweliusz
post
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 8
Dołączył: 19.03.2007
Skąd: z nad Jarugi

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


Jeżeli chcesz wyświetlić dane z bazy, to istnieje lepszy sposób niż pętla while.
Spróbuj konstrukcji z foreach oraz for:

  1. <?php
  2. $sql = mysql_query("SELECT * FROM changes WHERE qid = '$p' AND module='pages'");
  3.  
  4. for ($i=1; $row = mysql_fetch_assoc($sql); $i++)
  5. {
  6. $list[$i] = $row;
  7. }
  8. $tpl->assign('list', $list);
  9. ?>

Szablon:
  1. {foreach from=$list key='key' item='value'}
  2. {foreach from=$value key='_key' item='_value'}
  3. {$_value}<br />
  4. {/foreach}
  5. {/foreach}
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 17:26