как получить значение поля ввода формы в codeigniter

значение ВХОДНОЙ Справки ФОРМЫ!!

//это - просто ссылка $nm и $fid от test_model//

  $data['fid']['value'] = 0;
  $data['nm'] = array('name'=>'fname',
                      'id'=>'id');

скажите, что у меня есть один form_view с

<?=form_label('Insert Your Name :')?>
<?=form_input($nm)?>

и функция для получения одной строки

 function get($id){
    $query = $this->db->getwhere('test',array('id'=>$id));
    return $query->row_array();
}

затем в контроллере.. индекс ($id = 0)

и где-нибудь в индексе

 if((int)$id > 0)
        {
            $q = $this->test_model->get($id);
            $data['fid']['value'] = $q['id'];
            $data['nm']['value'] = $q['name'];
        }

и таблица mysql имеет что-то как 1. победитель, 2 года. видимый и т.д. как значение имени

но здесь не принятие значение имени и идентификатора от form_input и не показа его снова в form_view в том же поле ввода как победитель и т.д. так, чтобы обновить и отправить его назад на базу данных...

любой помогите!! и будьте легки, поскольку я плохо знаком с CI!!

5
задан Sam 20 February 2010 в 13:42
поделиться

3 ответа

Основываясь на вашем комментарии к моему первому ответу, вот образец контроллера, модели и представления для обновления записи пользователя, извлеченной из таблицы в базе данных.

Контроллер

class Users extends Controller
{
    function Users()
    {
        parent::Controller();
    }

    function browse()
    {
    }

    function edit($id)
    {
        // Fetch user by id
        $user = $this->user_model->get_user($id);

        // Form validation
        $this->load->library('form_validation');
        $this->form_validation->set_rules('name', 'Name', 'required');

        if ($this->form_validation->run())
        {
            // Update user
            $user['name'] = $this->input->post('name', true);
            $this->user_model->update_user($user);

            // Redirect to some other page
            redirect('users/browse');
        }
        else
        {
            // Load edit view
            $this->load->view('users/edit', array('user' => $user));
        }
    }        
}

Модель

class User_model extends Model
{
    function User_model()
    {
        parent::Model();
    }

    function get_user($user_id)
    {
        $sql = 'select * from users where user_id=?';
        $query = $this->db->query($sql, array($user_id));
        return $query->row();
    }

    function update_user($user)
    {
        $this->db->where(array('user_id' => $user['user_id']));
        $this->db->update('users', $user);
    }
}

Представление

<?php echo form_open('users/edit/' . $user['user_id']); ?>
<div>
    <label for="name">Name:</label>
    <input type="text" name="name" value="<?php echo set_value('name', $user['name']); ?>" />
</div>
<div>
    <input type="submit" value="Update" />
</div>
<?php echo form_close(); ?>
5
ответ дан 14 December 2019 в 19:11
поделиться

программное обеспечение Commercial:

  • Рациональный Определяют количество (дорогой, медленный, но очень подробный)
  • AQTime (менее дорогой, менее медленный, немного подробный)

Бесплатное программное обеспечение:

Эти коммерческие альтернативы изменяют скомпилированный код, 'инструментуя' (добавляющие инструкции) к нему и выполняют скручивание жгутов выбора времени добавленные инструкции. Это означает, что они вызывают серьезное замедление работы вашего приложения.

Эти свободные альтернативы используют выборку, что означает, что они менее детализированы, но очень быстро. На практике я обнаружил, что особенно Very Sleepy очень хорошо иметь быстрый взгляд на проблемы производительности в вашем приложении.

-121--3713191-

Трудно увидеть проблему из ваших фрагментов кода, пожалуйста, попробуйте дать немного больше информации о структуре вашего приложения и о том, где эти образцы кода размещены.

Предположим, что в последнем списке кода («где-то в индексе») вы получаете $ id из формы, но вы определяете идентификатор поля ввода формы как массив «id» («name» = > «fname», «id» = > «id»), а не целое значение, так что, возможно, именно в этом и заключается проблема.

Куда передается массив $ data в третьем списке кодов?

0
ответ дан 14 December 2019 в 19:11
поделиться

Судя по вашему вопросу, я думаю, вы хотите отобразить форму для редактирования записи о человеке в базе данных.

Код контроллера

// Normally data object is retrieved from the database
// This is just to simplify the code
$person = array('id' => 1, 'name' => 'stephenc');

// Pass to the view
$this->load->view('my_view_name', array('person' => $person));

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

<?php echo form_label('Your name: ', 'name'); ?>
<?php echo form_input(array('name' => 'name', 'value' => $person['name'])); ?>

Не забудьте повторить то, что возвращается из form_label и form_input. Возможно, здесь вы ошибаетесь.

0
ответ дан 14 December 2019 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: