视图文件的类?

时间:2011-04-05 11:38:53

标签: php

我不确定如何详细解释,但我会尽力而为。

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查询远离视图文件。

2 个答案:

答案 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能够自动构造对象,因此您不必编写类定义。