【问题标题】:CodeIgniter - Undefined variable & Trying to get property of non-objectCodeIgniter - 未定义的变量 & 试图获取非对象的属性
【发布时间】:2013-01-14 03:38:25
【问题描述】:

我正在尝试从我的控制器中的 API 获取数据并将数据传递给视图。但它似乎不起作用并导致错误:

消息:未定义变量:数据消息:试图获取非对象的属性

这两个错误都发生在我的 View.php 中,当我调用变量 $data 时。

这是与我想要获取的数据相关的控制器的一部分

$jdwl['jadwal'] = $this->bolalob->api('schedules/bydate|'.$start.'/'.$end.'/10');
$data['jadwal'] = $this->load->view('jadwal', $jdwl, TRUE);

$template['content'] = $this->load->view('jadwal',$data, TRUE);
$this->load->view('template', $template);

这是我的观点

<div class="float-left first-column">
    <div class="box box-shadow red round-top round-bottom">
      <div class="title-box"><strong>JADWAL</strong> TV</div>
      <ul class="text-center no-padding">
        <?php if ($data->data == 'no data') { ?>
        <li class="jadwal-tv"><strong>Belum ada jadwal</strong>
        </li>
        <?php } else { ?>
        <?php foreach ($data->data as $key=>$row) { ?>
        <?php if ($key == 0) { ?>
        <li class="jadwal-tv"><strong><?php echo $row->team_1->name; ?></strong><br />VS<br /><strong><?php echo $row->team_2->name; ?></strong><br /><span><?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB</span></li>
        <?php } else { ?>
        <li class="side-padding">
          <strong><?php echo $row->team_1->name; ?></strong> vs <strong><?php echo $row->team_2->name; ?></strong>
          <br />
          <?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB
        </li>
        <?php } ?>
        <?php if ($key == 5) break; ?>
        <?php } ?>
        <?php } ?>
      </ul>
    </div>    
  </div>

错误发生在第 5 行和第 9 行的 $data 上。我用谷歌搜索它并尝试在我看来使用 $data['jadwal'] 而不是 $data 但我似乎也没有工作。

谁能帮我解决这个问题? 谢谢:D

【问题讨论】:

    标签: codeigniter variables controller undefined


    【解决方案1】:

    在您看来,无需访问 $data 数组。 您可以直接将您的数据键称为变量。

    例如:

    在控制器中

    $data['myVar']="Some string";
    $this->load->view('viewName',$data);
    

    考虑中

    echo $myVar;
    

    【讨论】:

      【解决方案2】:

      尝试以下视图页面..

      <div class="float-left first-column">
      <div class="box box-shadow red round-top round-bottom">
          <div class="title-box"><strong>JADWAL</strong> TV</div>
          <ul class="text-center no-padding">
              <?php if (empty($jadwal)) { ?>
                  <li class="jadwal-tv"><strong>Belum ada jadwal</strong>
                  </li>
              <?php } else { ?>
                  <?php foreach ($jadwal as $key => $row) { ?>
                      <?php if ($key == 0) { ?>
                          <li class="jadwal-tv"><strong><?php echo $row->team_1->name; ?></strong><br />VS<br /><strong><?php echo $row->team_2->name; ?></strong><br /><span><?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB</span></li>
                      <?php } else { ?>
                          <li class="side-padding">
                              <strong><?php echo $row->team_1->name; ?></strong> vs <strong><?php echo $row->team_2->name; ?></strong>
                              <br />
                              <?php echo $row->television; ?> <?php echo date('d/m/y H:i', $row->pubdate); ?> WIB
                          </li>
                      <?php } ?>
                      <?php if ($key == 5) break; ?>
                  <?php } ?>
              <?php } ?>
          </ul>
      </div>    
      

      【讨论】:

      • 谢谢,我正在尝试这个,但现在我在&lt;?php foreach ($jadwal as $key =&gt; $row) { ?&gt; 线上收到“为 foreach() 提供的参数无效”。知道为什么吗?非常感谢! :-)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 2011-07-07
      • 2013-06-12
      相关资源
      最近更新 更多