2010-06-23 4 views
3

HIВставить в в базу данных с помощью CodeIgniter

я хочу, чтобы вставить данные, используя форму в CI, но я столкнулся с проблемой Вот мой код модели

function add_form() { 
    $this->load->database(); 
    $id = $this->input->post('id'); 
    $name = $this->input->post('name'); 
    $age = $this->input->post('age');  
    $data = array(
     'name' => $this->input->post('name'), 
     'age' => $this->input->post('age'), 
    ); 
    $this->db->insert('user',$data); 
} 

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

function simpleform() { 
    $this->load->helper('form'); 
    $this->load->helper('html'); 
    $this->load->model('welcomedb_model'); 
    if($this->input->post('submit')) { 
     $this->welcomedb_model->add_form(); 
    } 
    $this->load->view('welcomedb_view'); 
} 

и вот мой взгляд код

<?php echo form_open('welcomedb/submit'); ?> 
    <? echo $name; ?>: 
    <? echo form_input('name'); ?> 
    </br> 
    <? echo $age; ?>: 
    <? echo form_input('age'); ?> 
    </br> 
    <?php echo form_submit('submit', 'Submit'); ?> 
    <?php echo form_close(); ?> 

Спасибо за вашу помощь

+0

Просмотреть код: :
:
webkul

+1

Пожалуйста, повторно отредактируйте свой вопрос и отформатируйте его соответствующим образом. Вы были рядом, но пропустили с первой попытки. Кроме того, ваш код просмотра должен быть там, а не в комментарии. – MJB

+0

Пожалуйста, переформатируйте свой код. – ggfan

ответ

10

Ваша форма подчиняясь welcomedb/submit, но ваш контроллер, как представляется, в welcomedb/simpleform ... возможно, вам необходимо изменить.

В противном случае, похоже, что-то не так.

+0

, но он не работает – webkul

+0

Наконец-то я нашел решение, которое должно быть Спасибо за помощь – webkul

+3

Покажите парню какой-то кредит .. проверьте его ответ – mosid

2

Возможно:

$data = array(
    'name' => $this->input->post('name'), 
    'age' => $this->input->post('age'), 
); 

Удалить запятой от последнего элемента (возраст), как это:

$data = array(
    'name' => $this->input->post('name'), 
    'age' => $this->input->post('age') 
); 

и всегда сбросить ошибку.

+0

Это PHP не JS !! Обычно считается хорошей практикой добавлять запятую к последнему элементу массива. –

1
Best way is to do these code ...... 
First conifg the autoload and database. 
into autoload:$autoload['libraries'] = array('database'); 
       $autoload['helper'] = array('url','form','file'); 
Into controller 

<?php 
    class CDemo extends CI_Controller 
    { 

     function index() 
     { 
      $this->load->view('VDemo'); 
     } 
     function save() 
     { 
      $this->load->model('MDemo'); 

      if($this->input->post('submit')) 
      { 
       $this->MDemo->process();     
      } 
      redirect('CDemo'); 
     } 
    } 
?> 

Into Model 
<?php 
    class MDemo extends CI_Model 
    { 
     function process() 
     { 
      $Id = $this->input->post('Id'); 
      $Name = $this->input->post('Name'); 
      $data = array(
        'Id'=>$Id, 
        'Name'=>$Name      
        ); 
        $this->db->insert('test',$data);  
      } 
     } 
?> 

Into View 
<html> 
<head> 
<title>DEMO</title> 
</head> 
<body> 
    <h1>Form Biodata</h1> 
    <?php 
     echo form_open('CDemo/save', array('name' => 'VDemo'));  
    ?> 
     <table> 
      <tr> 
       <td>Id :</td> 
       <td><input type="text" name="Id"></input></td> 
      </tr> 
      <tr> 
       <td>Name :</td> 
       <td><input type="text" name="Name"></input></td> 
      </tr>  
      <tr> 
       <td><input type="submit" name="submit" value="submit"></input></td> 
      </tr>   
     </table> 
    <?php 
     echo form_close(); 
    ?> 
    <textarea rows="" cols="">Hello</textarea> 
</body> 
</html> 
Смежные вопросы