我试图从数据库中获取一些记录,比如票证系统,它是从数据库结果下载的代码
$this->db->select('*');
$this->db->from('tickets');
$this->db->where('t_author_steam_id', $steamid);
$query = $this->db->get();
if($query->num_rows() > 0) {
$row = $query->row_array();
return $row;
}
但它是重复的结果,并没有显示所有结果,只有一个。 there is result
答案 0 :(得分:1)
试试这个
方法01
$this->db->select('*');
$this->db->from('tickets');
$this->db->where('t_author_steam_id', $steamid);
$query = $this->db->get();
$result = $query->result_array();
if(!empty($result)) # this will act as $query->num_rows() > 0
{
return $result;
}
方法02
$this->db->select('*');
$this->db->from('tickets');
$this->db->where('t_author_steam_id', $steamid);
$this->db->group_by('t_author_steam_id'); # add this
$query = $this->db->get();
$result = $query->result_array();
if(!empty($result)) # this will act as $query->num_rows() > 0
{
return $result;
}
在视图中
<?php foreach($tickets as $items){ ?>
<tbody>
<th scope="row"><?php echo $items['t_id']; ?></th>
<th scope="row">
<?php if($items['t_lang'] == 1)
{
echo lang('polish');
} elseif($items['t_lang'] == 2) {
echo lang('english');
} ?>
</th>
<td><?php echo $items['t_title']; ?></td>
<td><?php echo $items['t_date']; ?></td>
<td>
<?php
if($items['t_status'] == 1)
{
echo '<span class="label label-info" id="status">'.lang('items-status-1').'</span>';
}
elseif($items['t_status'] == 2)
{
echo '<span class="label label-warning" id="status">'.lang('items-status-2').'</span>';
}
elseif($items['t_status'] == 3)
{
echo '<span class="label label-Success" id="status">'.lang('items-status-3').'</span>';
}?>
</td>
<td>Zobacz</td>
</tbody>
<?php } ?>
方法1运行正常。您使用foreach循环的代码中存在问题
答案 1 :(得分:0)
$query->row_array()
仅返回所有记录的第一行。如果要返回所有记录,请改用$query->result_array()
。