Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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_Mysql_Sql_Codeigniter - Fatal编程技术网

Php 如何发送一个我不知道其名称的变量';我不知道在风景里?

Php 如何发送一个我不知道其名称的变量';我不知道在风景里?,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我正在尝试使用codeigniter创建一个网站。数据库中有两个表。这些表格是类别(类别名称、类别Id)和项目(项目名称、类别Id)。现在,在我看来,我想在不同的表中显示不同类别的项目 到目前为止,我已经想到了这一点,但显然它不起作用。模型中的代码如下所示 $query = 'select category_id as id, category_name as name from category;'; $result = $this->db->query($query);

我正在尝试使用codeigniter创建一个网站。数据库中有两个表。这些表格是类别(类别名称、类别Id)和项目(项目名称、类别Id)。现在,在我看来,我想在不同的表中显示不同类别的项目

到目前为止,我已经想到了这一点,但显然它不起作用。模型中的代码如下所示

$query = 'select category_id as id, category_name as name from category;';
    $result = $this->db->query($query);
    $data['category'] = $result->result_array();
    foreach($data['category'] as $d)
    {
        $query = "select item_name as name from item where item_catagory_id = '{$d['id']}';";
        $result = $this->db->query($query);
        $data["{$d['id']}"] = $result->result_array();
    }
    $this->load->view('view', $data);
视图中的代码如下所示

<?php foreach($category as $c):?>
            <h2><?php echo $c['name']; ?></h2>
            <table>
                <tr>
                    <td>Item Name</td>
                </tr>
                <?php foreach($c['id'] as $d): ?>
                <tr>
                    <td><?php echo $d['name'];?></td>
                </tr>
                <?php endforeach;?>
            </table>
        <?php endforeach;?>

项目名称
但是它说“为foreach()提供的参数无效”。它还说错误在这一行:

<?php foreach($c['id'] as $d): ?>

如果我了解您想要实现的目标,那么以下是您想要的:

改变

$data["{$d['id']}"] = $result->result_array();
致:

然后,在您看来,您只需像这样执行第二个foreach:

<?php foreach($c['items'] as $d): ?>


这样,您就可以使用一个已知键将项目添加到类别本身。

不确定为什么需要知道视图的名称,因为它似乎正在执行。您有两个foreach语句,您在哪一个语句上出错?您是否尝试打印$category和$c以查找它们包含的内容?@captainpayalysis我在嵌套的foreach循环中出现错误。非常抱歉,我不理解您所说的“不确定为什么您需要知道视图的名称,因为它似乎正在执行”。我刚刚在这里把视图命名为view。在我的实际代码中,它被命名为其他名称。您的问题是:“如何在视图中发送一个我不知道名称的变量?”我不清楚为什么知道视图的名称与您的问题有关。
无效参数…
错误仅仅意味着
foreach
没有收到数组。在将
$data
数组发送到视图之前,请尝试找出其中的内容(例如
var\u dump($data);die;
)。
<?php foreach($c['items'] as $d): ?>