Отображение серийных номеров с результатом запроса

Я пытаюсь получить данные из своей базы данных, и когда я их отображаю, я хочу показать серийные номера (как список), например:

 **Serial Number**      Name          Country
     1.               John             USA
     2.              Srijon            UK

Я пробовал что-то с PHP Loops, но не смог заставить его работать. Не могли бы вы помочь мне? обратите внимание, что под серийными номерами я не подразумеваю значения, извлеченные из базы данных.

Заранее спасибо :)

Вот моя модель

 //Function To Create All Batch List
  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;
    }
 //End of Function To Create All Batch List

Вот мой контроллер

 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);

}

Вот мой взгляд

 <?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>

person black_belt    schedule 30.10.2011    source источник


Ответы (3)


В моем случае четвертый и пятый параметры, где номер страницы и строки на странице соответственно, то есть: example.com/category/page/1/10 первая страница с 10 строками на странице.

поэтому в этом случае просто используйте это перед циклом

$i = $this->uri->segment(4)? (
     $this->uri->segment(4) + $this->uri->segment(5)? $this->uri->segment(5):0
     )
     :0;

и внутри цикла просто увеличивайте значение i.

foreach ($result_obj as $key => $value)
{
$i++;
...
}
person Danish Backer    schedule 25.07.2012

Попробуйте это.. работайте так.. 1,2,3,4,5

$i = 0
while($condition)
{
    echo '<td>'.$i++.'</td>';
}
person Prakash Tank    schedule 13.01.2017

person    schedule
comment
@ Хейлвуд. Большое спасибо за Вашу помощь. Я попробовал код, который вы разместили, он отображает серийные номера, которые я хотел, но когда я нажимаю на следующую страницу (я использую библиотеку разбивки на страницы codeigniter), он автоматически сбрасывается и снова начинает показывать с 1. Пример: на первой странице порядковый номер такой › 1,2,3.. но когда я перехожу на следующую страницу, он снова начинается с 1. Не могли бы вы взглянуть на это? Заранее спасибо :) - person black_belt; 30.10.2011
comment
Хм, скажите мне две вещи: а) как выглядит ваш URL, когда вы переходите на третью страницу (первая страница, страница 2, страница три)? например пример.com/pages/30 ? или что? б) сколько записей вы показываете на странице? - person Hailwood; 31.10.2011
comment
Большое спасибо Hailwood за помощь. Мой URL-адрес выглядит следующим образом: localhost/sundial/studentlist_active, когда страница загружается (первая страница), когда я нажмите, чтобы перейти на следующую страницу, URL-адрес выглядит так››› localhost/sundial/studentlist_active/index/5 И я показываю 5 записей на странице. Большое спасибо еще раз. :) - person black_belt; 31.10.2011
comment
Большое спасибо Хейлвуд. Ваш отредактированный скрипт сначала не показывал никакой ценности, но теперь он отлично работает после того, как я внес небольшое изменение. Я заменил $i = $this-›uri-›segment(3); с $i = $this-›uri-›segment(3) + 0; . Еще раз спасибо за вашу помощь, и я прошу прощения, если я побеспокоил вас много. - person black_belt; 31.10.2011