Home > front end >  The count should reset when the name changes
The count should reset when the name changes

Time:01-05

My target is the count should reset when the name has changed. As we can see in table 1, the count continues even the name changed.

My current output:

id name count
1 juan 1
2 juan 2
3 juan 3
4 dela 4
5 dela 5
6 dela 6
7 cruz 7
8 cruz 8
9 cruz 9
10 cruz 10
11 cruz 11

My target output:

id name count
1 juan 1
2 juan 2
3 juan 3
4 dela 1
5 dela 2
6 dela 3
7 cruz 1
8 cruz 2
9 cruz 3
10 cruz 4
11 cruz 5

As we can see here in table 2, the count reset because the name changes.

Controller:

public function lists()
    {
        
        
        $list = $this->lists->get_datatables();
        $json = array();
        $no = $_POST['start'];
        $count = '1';
        foreach ($list as $list) {
            
       
            $no  ;
           $row = array();
            $row[] = '<tr><td>'.$list->id.'</td>';
            $row[] = '<tr><td>'.$list->Name.'</td>';
            $row[]='<td>'. $count  .'</td>';
 
            
            $data[] = $row;
            
        }
        
        $output = array(
            "draw" => $_POST['draw'],
            "recordsTotal" => $this->lists->count_all(),
            "recordsFiltered" => $this->lists->count_filtered(),
            "data" => $data,
        );
        //output to json format
        echo json_encode($output);
    }

CodePudding user response:

This should work

public function lists()
{
    
    
    $list = $this->lists->get_datatables();
    $json = array();
    $no = $_POST['start'];
    $count = '1';

    $check_arr = array();

    foreach ($list as $list) {
       

       if(!empty($check_arr) && !in_array($list->Name, $check_arr))  {         
         $count = 1;
       }

       $no  ;
       $row = array();
       $row[] = '<tr><td>'.$list->id.'</td>';
       $row[] = '<tr><td>'.$list->Name.'</td>';
       $row[]='<td>'. $count  .'</td>';

       $check_arr[] = $list->Name;
        
    }
    
    $output = array(
        "draw" => $_POST['draw'],
        "recordsTotal" => $this->lists->count_all(),
        "recordsFiltered" => $this->lists->count_filtered(),
        "data" => $data,
    );
    //output to json format
    echo json_encode($output);
}
  •  Tags:  
  • Related