0

年を公開値として使用する必要があるスクリプトに取り組んでいます。この情報はデータベースに保存されているので、引き出す必要がありますが、それは問題ではありません。主な値として公開されている年を示すリストを作成する必要があります。私はコードに取り組んでいましたが、常にエラーが発生します。

コントローラ:

$data['dbdata'] = $this->DBdata->serve_val('pc_year');
foreach ($data['dbdata']->result() as $data)
{
    $data['sheet'] = $this->DBdata->serve_val('pc');
    foreach ($data['sheet']->result() as $sht)
    {
        $data['vdata'][$data->idyr][$sht->idpc]['name'] = $sht->name;
        $data['vdata'][$data->idyr][$sht->idpc]['properties'] = $sht->properties;
    }
}

意見:

foreach ($dbdata->result() as $data)
{
    echo $data->year."<br>";
    foreach ($sheet->result() as $sht)
    {
        echo $vdata[$data->idyr][$sht->idpc]['name']."<br>";
        echo $vdata[$data->idyr][$sht->idpc]['properties']."<br>";
        echo "<br>";
    }
}

エラー:

A PHP Error was encountered

Severity: Notice

Message: Undefined offset: 1

これを正しく行う方法は?

4

1 に答える 1

1

変数名を再割り当てできないため、コントローラーを変更する必要があります

コントローラ:

$data['dbdata'] = $this->DBdata->serve_val('pc_year');
foreach ($data['dbdata']->result() as $result)
{
    $result['sheet'] = $this->DBdata->serve_val('pc');
    foreach ($result['sheet']->result() as $sht)
    {
        $data['vdata'][$result->idyr][$sht->idpc]['name'] = $sht->name;
        $data['vdata'][$result->idyr][$sht->idpc]['properties'] = $sht->properties;
    }
}

意見:

foreach ($dbdata->result() as $data)
{
    echo $data->year."<br>";
    foreach ($sheet->result() as $sht)
    {
        echo $vdata[$data->idyr][$sht->idpc]['name']."<br>";
        echo $vdata[$data->idyr][$sht->idpc]['properties']."<br>";
        echo "<br>";
    }
}
于 2012-11-11T03:55:21.513 に答える