Php join函数仅回显数据库的1个产品
我做了一个模型函数,这样它会回显属于我点击的配置文件用户的产品,这只是该用户的第一个产品得到回显。例如,我有一个帐户,共上载了7个产品,该功能仅显示页面上的第一个产品 以下是模型功能:Php join函数仅回显数据库的1个产品,php,codeigniter,foreach,codeigniter-3,Php,Codeigniter,Foreach,Codeigniter 3,我做了一个模型函数,这样它会回显属于我点击的配置文件用户的产品,这只是该用户的第一个产品得到回显。例如,我有一个帐户,共上载了7个产品,该功能仅显示页面上的第一个产品 以下是模型功能: function getdata_aangeboden($user_id){ $this->db->select("users.*,products.*"); $this->db->from('users'); $this->db->join('products'
function getdata_aangeboden($user_id){
$this->db->select("users.*,products.*");
$this->db->from('users');
$this->db->join('products','products.user_id = users.user_id','left');
$this->db->where('users.user_id', $user_id);
$query = $this->db->get();
return $query->result();
}
// Gets a list of multiple users.
function getdata($user_id){
$this->db->select("*");
$this->db->from('users');
$this->db->where('user_id', $user_id);
$query = $this->db->get();
return $query->result();
}
控制器功能:
<?php foreach($products as $product) { ?>
<div class="main-gifts">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product->product_id; ?>">
<img id="fotos" src="<?php echo base_url(); ?>upload/<?php echo $product->product_foto_thumb; ?>">
</a>
<div class="products_discription">
<h3><?php echo $product->product_naam; ?></h3>
<div class="ophaal_plaats">
<p>Plaats: <?php echo $product->ophaal_plaats; ?></p>
</div>
<div class="aangeboden_door">
<p> <?php
foreach($userdetail_list as $row){ ?>
<tr>
<td><?php echo $row->voornaam;?></td>
</tr>
<?php } ?></p>
</div>
<div class="status">
</div>
</div>
<a href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product->product_id; ?>"><input type="button" class="btn btn-default cb" value="Cadeau bewerken"></input> </a>
</div>
<?php } ?>
我发现你只是把 tr 标记,但不是 桌子 tag,这可能会引起问题,请查看下面的答案
<?php
foreach($products as $product) { ?>
<div class="main-gifts">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product->product_id; ?>">
<img id="fotos" src="<?php echo base_url(); ?>upload/<?php echo $product->product_foto_thumb; ?>">
</a>
<div class="products_discription">
<h3><?php echo $product->product_naam; ?></h3>
<div class="ophaal_plaats">
<p>Plaats: <?php echo $product->ophaal_plaats; ?></p>
</div>
<div class="aangeboden_door">
<p>
<table>
<?php
foreach($userdetail_list as $row){ ?>
<tr>
<td><?php echo $row->voornaam;?></td>
</tr>
<?php } ?>
</table>
</p>
</div>
<div class="status">
</div>
</div>
<a href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product->product_id; ?>">
<input type="button" class="btn btn-default cb" value="Cadeau bewerken">
</a>
</div>
<?php } ?>
普拉茨:
我发现您只将
tr
标记,但不是
桌子
tag,这可能会引起问题,请查看下面的答案
<?php
foreach($products as $product) { ?>
<div class="main-gifts">
<a href="<?php echo base_url() ?>/Product/details/<?php echo $product->product_id; ?>">
<img id="fotos" src="<?php echo base_url(); ?>upload/<?php echo $product->product_foto_thumb; ?>">
</a>
<div class="products_discription">
<h3><?php echo $product->product_naam; ?></h3>
<div class="ophaal_plaats">
<p>Plaats: <?php echo $product->ophaal_plaats; ?></p>
</div>
<div class="aangeboden_door">
<p>
<table>
<?php
foreach($userdetail_list as $row){ ?>
<tr>
<td><?php echo $row->voornaam;?></td>
</tr>
<?php } ?>
</table>
</p>
</div>
<div class="status">
</div>
</div>
<a href="<?php echo base_url() ?>/KdGwController/details_bewerken/<?php echo $product->product_id; ?>">
<input type="button" class="btn btn-default cb" value="Cadeau bewerken">
</a>
</div>
<?php } ?>
普拉茨:
我希望您应该正确声明foreach循环
<?php foreach($products as $product) {
// print here the product info
}
?>
我希望您应该正确声明foreach循环
<?php foreach($products as $product) {
// print here the product info
}
?>
您需要按如下方式更改查询
function getdata($user_id){
$this->db->select("products.*,users.*");
$this->db->from('products');
$this->db->join('users','users.user_id = products.user_id','left');
$this->db->where('users.user_id', $user_id);
$query = $this->db->get();
return $query->result();
}
您需要按如下方式更改查询
function getdata($user_id){
$this->db->select("products.*,users.*");
$this->db->from('products');
$this->db->join('users','users.user_id = products.user_id','left');
$this->db->where('users.user_id', $user_id);
$query = $this->db->get();
return $query->result();
}
它显示如下:选择
用户
*,产品
*,从用户
左侧在产品
上加入产品
用户id
用户id其中用户
用户id='4',正确吗?从user_id=4获取所有产品?您可以复制该查询并在数据库工具上运行吗?或者您可以只“打印(产品)”它显示:选择users
*,产品
*来自用户
左侧在产品
上加入产品
用户id
用户id
其中用户
用户id
=“4”正确吗?从用户_id=4获取所有产品?您可以复制该查询并在数据库工具上运行吗?或者您可以只是“打印(产品)”您的循环没有正确结束。请检查它。它甚至没有正确启动,在foreach()之后缺少{。它将只循环一次并显示最后一个条目。是否所有产品都与用户关联?如果不是,则只有与用户关联的产品才会返回,除非您使用左或右连接。是的,所有产品都与用户关联。显示是否结束foreach循环?当我尝试endforeach时,它会给我一个错误?您的循环没有正确结束请检查它。它甚至没有正确启动,在foreach()之后缺少{。它将只循环一次并显示最后一个条目。是否所有产品都与用户关联?如果不是,则只有与用户关联的产品才会返回,除非您使用左或右连接。是的,所有产品都与用户关联。我是否结束foreach循环?当我尝试endforeach时,它会给我一个错误?我认为存在问题我的foreach循环?你能检查一下吗?我认为我没有结束foreach循环。foreach循环是好的。但是我认为查询有一些错误。你能echo$this->db->last_query();die;return$query->result()吗;
按此编辑函数并在phpmyadmin中运行查询让我们看看查询是否有问题我认为我的foreach循环有问题?你能检查一下吗?我认为我没有结束foreach循环右foreach循环是好的。但我认为查询有一些错误。你能echo$this->db->last\u query()吗;die;return$query->result();
按此编辑函数,并在phpmyadmin中运行查询。让我们看看查询是否有问题或异常,现在您关闭for循环。您还应该对url使用小写,而不是“/Product/details/”。当我用此命令结束foreach循环时:它会给我一个意外错误}在何处写入循环,在控制器或视图中?好的,现在关闭for循环。还应该对url使用小写,而不是“/Product/details/”。当我用以下内容结束foreach循环时:它会给我一个意外错误}在何处写入循环,在控制器或视图中?