Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查看文件的类?_Php - Fatal编程技术网

Php 查看文件的类?

Php 查看文件的类?,php,Php,我不知道如何详细解释,但我会尽力 目前我有一个php文件,它看起来像这样: $SQL_Cat = mysql_query("SELECT * FROM categories WHERE restaurant_id = '$restaurantID'"); while ($category = mysql_fetch_array($SQL_Cat)) { $CategoryID = $category['id']; echo $category

我不知道如何详细解释,但我会尽力

目前我有一个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,如何创建它 类(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查询远离视图文件。

将其用于对象。PDO能够自动构造对象,因此您不必编写类定义。

这是您使用的框架吗?您是否需要一种方法将视图与类绑定在一起,或者您已经这样做了,只需要知道如何将数据从一个对象传递到另一个对象?但您确实应该检查您的逻辑-循环中的查询是一种糟糕的方法好主意,真的吗?那么,从我的示例中,您将如何做呢?@user622378使用
JOIN
语句作为第二个查询,例如,或
WHERE category\u id IN
$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;
}