2017-02-08 4 views
2

Мне нужно вставить числа в одну форму в таком формате 1,5,8,7. при нажатии кнопки отправки нечетные номера будут храниться в ODD таблица и четные номера в EVEN таблица.Вставить числа, разделенные запятыми в той же форме, в том же столбце в codeigniter

Этот код контроллера.

function insert_num(){ 
    $x=$this->input->post('number'); 
    foreach(explode(',',$x)as $no) { 

     if ($no%2==0){ 
      $newdata= array(
       'number'=>$no 
       ); 

    $this->even_num_mod->insert_even($newdata); 
    redirect(base_url().'index.php/numbers/get_number'); 
} 
    //else if($x%2==1){ 
     else { 
      $newdata= array('o_number'=>$no); 


     $this->odd_num_mod->insert_odd($newdata); 

    redirect(base_url().'index.php/numbers/get_number'); 
} 
    } 
enter code here 

и это код модели нечетного номера.

class Odd_num_mod extends CI_Model { 
public function __construct() { 
    parent::__construct(); 
} 
function odd_number(){ 
    $sql = "select * from odd_number"; 
    $query = $this->db->query($sql); 
    return $query->result_array(); 
} 

    function insert_odd($data){ 
    $this->db->insert('odd_number',$data); 

} 

}

и это код, даже от номера модели.

class Even_num_mod extends CI_Model { 
    public function __construct() { 
    parent::__construct(); 
    } 

    function even_number(){ 
    $sql = "select * from even_number"; 
    $query = $this->db->query($sql); 
    return $query->result_array(); 

} 
function even_sum(){ 
    $this->db->select_sum('number'); 
    $this->db->from('even_number'); 
    $query=$this->db->get(); 
    return $query->result_array(); 
} 

function insert_even($data){ 
$this->db->insert('even_number',$data); 

} 

}

и код зрения

<table style="width: 445px; height: 40px;" border="1"> 
<b>Even numbers</b> 
</br> 
    <tr> 
     <td> &nbsp;even numbers</td> 

    </tr> 
    <?php ?> 
    <?php $s=0 ?> 
    <?php foreach ($results as $rec) { ?> 
      <td><?php echo $rec['number']?></td> 
      </tr> 
     <?php $s+=$rec['number'];?> 

    <?php } ?> 
     <tr> 
<td><b>Sum</b</td> 
</tr> 
<tr> 
<td> <?php echo $s ; ?> </td> 
</tr> 



    </table> 
    </br> 
    </br> 
</br> 

<b>odd numbers</b> 
</br> 
    <tr> 
     <td> &nbsp;odd numbers</td> 

    </tr> 
      <?php $d=0 ?> 

    <?php foreach ($result as $res) { ?> 
    <?php $y = $res['o_number']; 
      if ($y %3==0){ 
      echo "<td bgcolor='green'>" .$res['o_number']." </td>"; 

    } else{ 
    echo "<td bgcolor='white'>".$res['o_number']." </td>" ; 

    }?> 
    <?php $res['o_number']; ?> 
     </tr> 
     <?php $d+=$res['o_number'];?> 
     </tr> 
    <?php } ?> 
     <td> <b>Sum</b></td> 
    </tr> 
    <tr> 
    <td> <?php echo $d ; ?> </td> 
</tr> 

</table> 

Когда код выполняется только первое число хранится в таблице он принадлежит к.

+0

Действительно ли это происходит как для четного, так и для странного? – Sona

+0

Да, это .... –

+0

, когда я добавляю нечетное число сначала, как 1,2,3, код отправляет только 1 в нечетную таблицу –

ответ

0

Вы перенаправляете после первой вставки, которая остановит дальнейшее выполнение. попробуйте этот код:

контроллер

function insert_num(){ 


     $x=$this->input->post('number'); 
     foreach(explode(',',$x)as $no) { 

      if ($no%2==0){ 
       $newdata= array(
        'number'=>$no 
        ); 

     $this->even_num_mod->insert_even($newdata); 

    } 
      else { 
       $newdata= array('o_number'=>$no); 


      $this->odd_num_mod->insert_odd($newdata); 


    } 
     } 
    redirect(base_url().'index.php/numbers/get_number'); 
} 
+0

да, его рабочий –

0

Пожалуйста, удалите redirect(base_url().'index.php/numbers/get_number'); из контроллера. Он прекратит выполнение и перенаправляет после ввода первого номера.

function insert_num(){ 
    $x=$this->input->post('number'); 
    foreach(explode(',',$x)as $no) { 

     if ($no%2==0){ 
      $newdata= array(
       'number'=>$no 
       ); 

    $this->even_num_mod->insert_even($newdata); 
    //redirect(base_url().'index.php/numbers/get_number'); 
     } 
    //else if($x%2==1){ 
     else { 
      $newdata= array('o_number'=>$no); 
      $this->odd_num_mod->insert_odd($newdata); 
    //redirect(base_url().'index.php/numbers/get_number'); 
     } 
    } 
    redirect(base_url().'index.php/numbers/get_number'); 
+0

спасибо за вашу помощь, я попробую –

Смежные вопросы