按对象显示数据库中的所有数据,并通过LI显示



我在这一行中遇到了问题,我设法在数据库中获取数据,但是,我遇到了问题,因为我得到的是一个对象。 我还有两个问题:

  1. 从我的视图中显示数据,我不知道如何显示对象类型。
  2. 从问题 1 开始,我希望对象类型可以通过类似<li>查看我的代码,我在下面查看我的代码

这是我的代码:

从控制器我有这个:

public function index() {
$data = $this->Category_model->loadCategories();
if(empty($data)) {
$this->load->view('customers/header');
$this->load->view('customers/welcome');
$this->load->view('customers/footer');  
}
else {
$this->load->view('customers/header',$data);
$this->load->view('customers/welcome',$data);
$this->load->view('customers/footer',$data);
var_dump($data);
}
}

现在这是我的问题,我设法var_dump这些数据,数据看起来像这样:

array(2) { [0]=> object(stdClass)#21 (2) { ["Category_id"]=> string(1) "1" ["Category_name"]=> string(7) "Gadgets" } [1]=> object(stdClass)#22 (2) { ["Category_id"]=> string(1) "2" ["Category_name"]=> string(5) "Books" } }

所以我的观点是这样的:我怎样才能确定对象的大小,以便我将对象的大小作为我将放置多少<a href="#" class="list-group-item">Category 1</a>

<div class="list-group">
<?php foreach($data) { ?>
<a href="#" class="list-group-item"><?php $Category_name ?></a>
<?php } ?>
</div>

若要向视图显示数据,这应该是您的控制器:

public function index() {
$data = $this->Category_model->loadCategories();
if(empty($data)) {
$this->load->view('customers/header');
$this->load->view('customers/welcome');
$this->load->view('customers/footer');  
}
else {
$this->load->view('customers/header',$data);
$this->load->view('customers/welcome',['data'=>$data]);
$this->load->view('customers/footer',$data);
var_dump($data);
}

}

注意:您应该更改视图技术。我的意思是您正在加载$this->load->view('customers/header',$data);并使用welcome页面进行$this->load->view('customers/footer',$data);。如果您只需要在该welcome页面上data,则可以执行此操作。

$this->load->view('customers/header');
$this->load->view('customers/welcome',['data'=>$data]);
$this->load->view('customers/footer');

无需在每个视图上加载数据。仅在使用此$data的视图上加载。

现在在视图侧显示以下内容:

array(2) 
{ 
[0]=> object(stdClass)#21 (2) 
{ 
["Category_id"]=> string(1) "1" ["Category_name"]=> string(7) "Gadgets" 
} 
[1]=> object(stdClass)#22 (2) 
{ 
["Category_id"]=> string(1) "2" ["Category_name"]=> string(5) "Books" 
} 
}

<div class="list-group">
<?php foreach($data as $single_data) { ?>
<a href="#" class="list-group-item"><?= $single_data->Category_name ?></a>
<?php } ?>
</div>

作为你的第二个问题:

<ul>
<?php foreach($data as $single_data) { ?>
<li><?= $single_data->Category_name ?></li>
<?php } ?>
</ul>

试试这个:

<?php foreach($data as $d): ?>
<a href="#" class="list-group-item"><?php $d->Category_name; ?></a>
<?php endforeach; ?>

所以在这里你是作为标准对象的 gor 响应。 因此,标准对象的属性将与->运算符一起使用。

在控制器中,请分配要查看的数据。

$this->load->view('customers/welcome',array('data'=>$data));

在您的情况下

<div class="list-group">
<?php foreach($data as $category) { ?>
<a href="#" class="list-group-item"><?= $category->Category_name?></a>
<?php } ?>
</div>

如果您的响应是数组,则可以使用下面提到的解决方案。

<div class="list-group">
<?php foreach($data as $category) { ?>
<a href="#" class="list-group-item"><?= $category['Category_name'] ?></a>
<?php } ?>
</div>

如果它不适合您,请告诉我。

最新更新