在发送表单之前和之后获取值-CodeIgniter

问题描述 投票:0回答:1

我正在创建编辑表单,我想获取值:

a)从数据库发送表单之前->

b)发送表格后-来自用户

我正在努力使这项工作。

这是我的桌子的样子:

CREATE TABLE `categories` (
    `cat_id` INT(5) NOT NULL AUTO_INCREMENT,
    `cat_title` VARCHAR(300) NOT NULL COLLATE 'utf8_general_ci',
    `cat_desc` VARCHAR(300) NOT NULL COLLATE 'utf8_general_ci',
    `cat_active` ENUM('Y','N') NOT NULL COLLATE 'utf8_general_ci',
    `cat_created` DATETIME NOT NULL,
    `cat_updated` DATETIME NOT NULL,
    `cat_author` INT(5) NOT NULL COMMENT 'equal to users.user_id',
    `parent_id` INT(5) NOT NULL COMMENT 'equal to categories.cat_id',
    PRIMARY KEY (`cat_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

在我的模型中,我联接了两个表-“用户”和“类别”:

    // get_them_all
function get_all() {
$this->db
->select( '
s.cat_title AS parentTitle,
s.cat_id AS subcatId,
u.user_login AS author,
c.*' )
->from( 'categories AS c' )
->join( 'users AS u', 'u.user_id = c.cat_author' )
->join( 'categories AS s', 's.cat_id = c.parent_id' );
return $this->db->get()->result_array();
}

下面是我的看法:

    <select class="custom-select" name="cat_subcat" >
<?php
foreach ( $all_categories as $category ) {
    // after sending the form take values from user
    if ( $this->input->post( 'cat_subcat' ) ) {
        $value = $category[ 'cat_id' ];
        $name = $category[ 'cat_id' ];
        $selected = ( $this->input->post( 'cat_subcat' ) == $value ) ? ' selected="selected"' : "";
    }
    // before sending the form take values from db
    else {
        $value = $category['cat_id'];
        $name = $category[ 'cat_id' ];
        $selected = ( $category['parent_id'] == $value ) ? ' selected="selected"' : "NIE";
    }
    echo '<option value="' . $value . '" ' . $selected . '>' . $name . '</option>';
    echo "\r\n";
}
?>
</select>

有人可以解释一下如何使其工作吗?

编辑:

下面的代码从POST数组发送带有值的表单后,选择选项。我想在从数据库发送带有值的表格之前选择选项。我无法弄清楚该怎么做,可能是因为加入了我的模型。

<select class="custom-select" name="cat_subcat">
<?php foreach($all_categories as $category): ?>
<option value="<?php echo $category['cat_id']; ?>"<?php echo set_select('cat_subcat', $category['cat_id'], TRUE);?>><?php echo $category['cat_title']; ?></option>
<?php endforeach; ?>
</select>

我正在创建编辑表单,我想获取值:a)从用户发送表单之前-从数据库b)从用户发送表单之后-我正在努力使这项工作。这是我的表格的样子:...

forms codeigniter dropdown
1个回答
0
投票

在阅读此答案之前,请先阅读有关Model-View-Controller的信息。

© www.soinside.com 2019 - 2024. All rights reserved.