我有一个脚本,显示这些字段的信息 - batchname,class,batchinstructor from table“batch”。但是当我显示数据时,我想在左侧显示动态生成的序列号。例如:
Serial Number BatchName Class Batch Instructor
1. Solar Class Five John
2. Lunar Class six Bon Jovi
我已经尝试了很多,但它不起作用。请你帮我解决这个问题吗?请注意,这些序列号不是来自数据库。
这是我的控制器:
<?php
class Batchlist extends CI_Controller{
function index(){
$this->load->library('pagination');
$config['base_url'] = base_url().'batchlist/index';
$config['total_rows'] = $this->db->get('batch')->num_rows();
$config['per_page'] = 20;
$config['num_links'] = 20;
$config['full_tag_open'] = '<div class="pagination" align="center">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
$this->load->model('mod_batchlist');
$data['records']= $this->mod_batchlist->batch_list($config['per_page'],$this->uri->segment(3));
$data['main_content']='view_batchlist';
$this->load->view('includes/template',$data);
}
} ?&GT;
这是我的模特:
function batch_list($perPage,$uri) {
$this->db->select('*');
$this->db->from('batch');
$this->db->join('teacher', 'batch.batchinstructor = teacher.teacherid');
$this->db->order_by('batchid','DESC');
$getData = $this->db->get('', $perPage, $uri);
if($getData->num_rows() > 0)
return $getData->result_array();
else
return null;
}
这是我的观点
<h1>Batch List </h1>
<?php if(count($records) > 0) { ?>
<table id="table1" class="gtable sortable">
<thead>
<tr>
<th>Batch Name</th>
<th>Class</th>
<th>Batch Instructor</th>
<th>Edit/Delete</th>
</tr>
</thead>
<tbody>
<?php foreach ($records as $row){ ?>
<tr>
<td><a href="<?php echo base_url(); ?>batch/<?php echo $row['batchid']; ?>"><?php echo $row['batchname'];?></a></td>
<td><?php echo $row['class'];?></td>
<td><?php echo $row['teachername'];?></td>
<td> <a href="<?php echo base_url(); ?>updatebatch/get/<?php echo $row['batchid']; ?>" title="Edit"><img src="<?php echo base_url(); ?>support/images/icons/edit.png" alt="Edit" /></a>
<a href="#" title="Delete"><img src="<?php echo base_url(); ?>support/images/icons/cross.png" alt="Delete" /></a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<?php } ?>
<div class="tablefooter clearfix">
<div class="pagination">
<?php echo $this->pagination->create_links(); ?>
</div>
</div>
答案 0 :(得分:4)
也许我误解了,但是......一个简单的计数器怎么样? (在SQL中订购记录之后)。
您需要将每页的项目数传递给视图(在此代码段中为$per_page
),然后从URI($this->uri->segment(n)
)中检索当前页面。
在第1页,计数器从(20 * 0)+1开始,即1.在第2页,从(1 * 20)+1开始,即21,在第3页从(2 * 20)+1开始,即41等等...
<?php
$cur_page = $this->uri->segment(n) ? intval($this->uri->segment(n)) : 1;
$i = (($cur_page-1) * $per_page) +1;
foreach ($records as $row) :
?>
<tr>
<td><?php echo $i;?>.</td>
<td><a href="<?php echo base_url(); ?>batch/<?php echo $row['batchid']; ?>"><?php echo $row['batchname'];?></a></td>
<td><?php echo $row['class'];?></td>
<td><?php echo $row['teachername'];?></td>
<td> <a href="<?php echo base_url(); ?>updatebatch/get/<?php echo $row['batchid']; ?>" title="Edit"><img src="<?php echo base_url(); ?>support/images/icons/edit.png" alt="Edit" /></a><a href="#" title="Delete"><img src="<?php echo base_url();?>support/images/icons/cross.png" alt="Delete" /></a>
</td>
</tr>
<?php
++$i;
endforeach;
?>
你可以将计数器放在任何你想要的位置,为了简单起见,我添加了一个列,但如果你想在其他地方放置,只需将计数器放在那里。
答案 1 :(得分:0)
您说序列号不是来自数据库。从那时起他们在哪里?如果您希望数据库生成它们,您可以创建一个名为id的列并将其设置为主键并使其自动递增。