我不确定如何详细解释,但我会尽力而为。
Currenly我有一个php文件,它看起来像这样:
$SQL_Cat = mysql_query("SELECT * FROM categories WHERE restaurant_id = '$restaurantID'");
while ($category = mysql_fetch_array($SQL_Cat))
{
$CategoryID = $category['id'];
echo $category['name'];
$q = mysql_query("SELECT * FROM items WHERE category_id = '" . $CategoryID . "'");
while($item = mysql_fetch_array($q))
{
$item_name = $item['name'];
echo $item_name;
}
}
如您所见,有$ category和$ item,如何创建它 class(classname / {Category,Item})使用视图。示例如下:
<?php foreach($categories as $category): ?>
<table border=0 Cellspacing='0'>
<tr>
<td>
<?php echo $category->name; ?>
</td>
</tr>
<?php foreach ($category->items as $item): ?>
<tr>
<td>
<?php echo $item->name; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endforeach; ?>
所以我可以让SQL查询远离视图文件。
答案 0 :(得分:1)
$SQL_Cat = mysql_query("SELECT * FROM categories WHERE restaurant_id = '$restaurantID'");
while ($category = mysql_fetch_object($SQL_Cat))
{
$category->items = array();
$q = mysql_query("SELECT * FROM items WHERE category_id = '" . $category->id . "'");
while($item = mysql_fetch_object($q))
{
$category->items[] = $item;
}
$categories[] = $category;
}
答案 1 :(得分:0)
将PDO and fetch用于对象。 PDO能够自动构造对象,因此您不必编写类定义。