[ m_k @ 16.10.2006. 22:21 ] @
Kako da pomocu smartija kreiram tabelu (treba da iz baze printam rezultate jedan do drugog u redu [4 u jednom redu, pa prelazak u novi red])?
[ [email protected] @ 17.10.2006. 12:33 ] @
Npr. ukoliko imaš
Code:

</php
$smarty = new Smarty;
$conn = mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_select_db(DBNAME, $conn); 
$sql = 'SELECT * FROM tabela LIMIT 10';
$results = mysql_query($sql, $conn);
$data = Array();
while($row = mysql_fetch_assoc($results)) {
  $data[] = $row;
}
$smarty->assign('data', $data);
$smarty->display('index.tpl');
?>


U template-u bi mogao da koristiš npr foreach ili section

Code:

<table>
  <tr>
    <td>Column 1</td>
    <td>Column 2</td>
    <td>Column 3</td>
    <td>Column 4</td>
  </tr>
  {foreach from=$data item="d"}
  <tr>
    <td>{$d.col1}</td>
    <td>{$d.col2}</td>
    <td>{$d.col3}</td>
    <td>{$d.col4}</td>
  </tr>
  {foreachelse}
  <tr>
    <td colspan="4">Data not found!</td>
  </tr>
  {/foreach}
</table>


<br />
<br />
<br />


<table>
  <tr>
    <td>Column 1</td>
    <td>Column 2</td>
    <td>Column 3</td>
    <td>Column 4</td>
  </tr>
  {section name="d" loop=$data}
  <tr>
    <td>{$data[d].col1}</td>
    <td>{$data[d].col2}</td>
    <td>{$data[d].col3}</td>
    <td>{$data[d].col4}</td>
  </tr>
  {sectionelse}
  <tr>
    <td colspan="4">Data not found!</td>
  </tr>
  {/section}
</table>
[ m_k @ 17.10.2006. 18:45 ] @
Pa nismo se bas shvatili, ja podatke selektujem iz baze tako da mogu biti 3 upisa a moze ih biti i 200 (po ovom tvome morao bi vec u arrayu imati definisano sta ide u prvu, drugu, trecu i cetvrtu celiju).
[ cartmanlee @ 08.11.2006. 08:21 ] @
Možda da promijeniš template koji je poslao m_k, pa da izgleda ovako (naravno, onda mi tu tabela i nema nekog smisla, ali recimo ovako)

Code:


<table>
  <tr>
    <td>Column 1</td>
  </tr>
  {section name="d" loop=$data}
  <tr>
    <td>{$data[d].col1}{if smarty.section.d.iteration % 4 == 0}</td></tr>{else}, {/if}
  {/section}
     </td>
  </tr>

</table>


tako nešto.