我正在创建编辑表单,我想获取值:
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)从用户发送表单之后-我正在努力使这项工作。这是我的表格的样子:...
在阅读此答案之前,请先阅读有关Model-View-Controller的信息。