PHP Smarty Templates

smarty

The template (departments.tpl):

<!DOCTYPE html>
<html>
 <head>
  <title>Departments</title>
  <link rel="stylesheet" href="site.css" type="text/css"/>
 </head>
<body>
<h1>Faculty of Arts &amp; Sciences</h1>
<h2>Departments</h2>
  <ul>
  {foreach from=$dept item=d}
  <li>
      <a href="smarty-courses.php?department_code={$d.department_code}">{$d.department_short}</a>
  </li>
  {/foreach}
  </ul>
</body>
</html>

Get the departments: smarty-dept.php

<?php
/* ==================================================
    Database Stuff
   ================================================== */
// Connecting, selecting database
$link = mysql_connect('localhost', 'class', 'dbpasswd')
     or die('Could not connect: ' . mysql_error());

mysql_select_db('coursecatalog') or die('Could not select database');
// Performing SQL query
$query = 'SELECT distinct department_short, department_code FROM courses order by department_short';
$res = mysql_query($query) or die('Query failed: ' . mysql_error());
$i=0;
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
  $results[$i++] = $row;
}

/* ==================================================
    Smarty Template Stuff
   ================================================== */
require('/usr/local/lib/php/Smarty/Smarty.class.php');
// create object
$smarty = new Smarty;
$smarty->template_dir = './smarty_templates';
$smarty->compile_dir = '/tmp/smarty/templates_c';
$smarty->cache_dir = '/tmp/smarty/cache';
$smarty->config_dir = './smarty_configs';

$smarty->assign('dept', $results);

// display it
$smarty->display('departments.tpl');

/* ==================================================
    Cleanup
   ================================================== */
// Free resultset
mysql_free_result($res);
// Closing connection
mysql_close($link);
?> 

Copyright © David Heitmeyer