Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Codeigniter中将多个特色产品信息保存到MySQL中_Php_Mysql_Codeigniter - Fatal编程技术网

Php 在Codeigniter中将多个特色产品信息保存到MySQL中

Php 在Codeigniter中将多个特色产品信息保存到MySQL中,php,mysql,codeigniter,Php,Mysql,Codeigniter,我已将我的问题附在jpg文件中,以解决代码格式问题: 问题是它没有将任何数据保存到“tbl_表”中 控制器 模型 看法 产品名称: 查看: <select name="product_id[]"> <?php foreach ($all_product as $values) { ?> <option value="<?php echo $values->product_name; ?>"><?php echo $values->

我已将我的问题附在jpg文件中,以解决代码格式问题:

问题是它没有将任何数据保存到“tbl_表”中

控制器 模型 看法
产品名称:
查看

<select name="product_id[]">
<?php foreach ($all_product as $values) { ?>
<option value="<?php echo $values->product_name; ?>"><?php echo $values->product_name; ?></option>
<?php } ?>
</select>
<?php foreach ($all_product as $values) { ?>
<input type="checkbox" name="product_id[]" value="<?php echo $values->product_id; ?>" /> 
<?php echo $values->product_name; ?> <br />
<!-- <input hidden="hidden" name="featured_id[]" value="<?php //echo $values->product_id; ?>" /> -->
<input type="hidden" name="product_name[]" value="<?php echo $values->product_name; ?>" />
<input name="featured_product_price[]" value="<?php echo $values->product_price;?>" /> 
<input name="featured_product_quantity[]" value="<?php echo $values->product_quantity; ?>" /> 
<input name="featured_product_sku[]" value="<?php echo $values->product_sku; ?>" /> 
<input name="featured_product_short_description[]" value="<?php echo $values->product_short_description; ?>" /> 
<input name="featured_product_long_description[]" value="<?php echo $values->product_long_description; ?>" /> 
<input name="featured_product_status[]" value="<?php echo $values->product_status; ?>" /> 
<input name="featured_product_image[]" value="<?php echo $values->product_image; ?>" />
型号

function save_featured_product_info($data){
    if( is_array( $data ) && count( $data ) > 0 ){
        $this->db->insert_batch('tbl_featured_products', $data);    
    }
}

我只想给你一些一般性的建议。在$this->input->post中包含xss clean TRUE,这是一种荣誉

总是用一个或两个值来启动这样的项目。让它工作起来。然后添加其余字段。我称之为“理智检查”,因为尝试处理这么多领域会让你发疯:-)

查看控制器中的代码。现在看一下模型中的代码。您看到了吗?对于完全相同的值,您有很多代码管制员应该苗条且专横。管制员的老板是这样的:这张表格验证了是真还是假?如果为false-再次显示视图。如果为true:是否将值添加到数据库表yes或no?如果是-显示成功页面

模型执行繁重的数据处理。模型验证表单数据。该模型创建数据库所需的数据数组。对于有这么多数据的东西,创建一个单独的方法,只创建数据数组。然后有一个很好的简单数据库调用,如

function _insertProduct( $product ) {
    $this->db->insert( 'tbl_featured_products', $product );
    if ( $this->db->affected_rows() == '1' ) {return TRUE;}
    else {return FALSE;}

} 
看看这个简单漂亮的代码。它让我们知道插入是否有效

现在从ModelDB方法来看这个问题

if (isset($data['product_id']) && is_array($data['product_id'])) {
不,不,不!不如果您将数据结构传递给数据库调用-您首先对其进行了清理、抛光和打蜡。您知道它是完美和有效的,因此您不必用一大堆令人困惑的问题来猜测自己,这是一组吗

最后,永远不要说出任何名字:temp
因为temp是什么意思?回答:这并不意味着什么。这是一个问题。当我咆哮的时候,不要叫它$data仅为传递给视图的值保留$data名称。(好的,我知道这可能不是一个流行的观点,但我保证这将使您的编码更容易)。方法和变量名是非常重要的,它们是你的代码旅程中的引导点:-(<)/p>张贴你的模型代码,这里我已经将模型代码包含在中间区域。请看一看::“模特”不能在这里发布。。。它的字符太多(stackoverflow),无法发布您的代码。不可能自己编写整个代码。这不是发布问题的好方法。将此代码添加到答案中,它很难阅读。也发布您的观点。如果愿意,您可以删除该图像。更改代码后,图像显示“错误号:1048列‘product_name’不能为空”。很抱歉,回复太晚。它只适用于一行。我想按产品添加多个特色产品。::我想根据产品名称或ID保存多个复选框。。。请帮助我。希望它能起作用,至少你会得到一个公平的例子,如何做到这一点。我会做得非常不同,但我投票给你,因为你投入了大量的工作,所以干杯。非常感谢你。我将听从你的指示。我会让你知道最新情况。我对你的解释很满意。我真的很喜欢这个。谢谢,阿加尼特不工作了。它显示数据库错误:::遇到PHP错误严重性:注意消息:未定义变量:product Filename:controllers/super_admin.PHP行号:235:。文件名:D:\xampp\htdocs\shop\system\database\DB\u active\u rec.php行号:1174如果您试图修改或更改现有数据库记录-这是一个更新。如果您正在创建一个全新的数据库记录-这是一个插入。这两个表非常不同。从一个表中获取数据后,希望通过复选框在另一个表中插入多个数据
function save_featured_product() {
    $data = array();
    $feat = array();
    $fin  = array();
    if ($this->input->post()) {
        $feat    = $this->input->post('product_id', true);
        $data['featured_id']                        = $this->input->post('featured_id', true);
        //$data['product_id']                         = $this->input->post('product_id', true);
        $data['product_name']                       = $this->input->post('product_name', true);
        //$data['featured_product_name']              = $this->input->post('featured_product_name', true);
        $data['featured_product_price']             = $this->input->post('featured_product_price', true);
        $data['featured_product_quantity']          = $this->input->post('featured_product_quantity', true);
        $data['featured_product_sku']               = $this->input->post('featured_product_sku', true);
        $data['featured_product_short_description'] = $this->input->post('featured_product_short_description', true);
        $data['featured_product_long_description']  = $this->input->post('featured_product_long_description', true);
        $data['featured_product_status']            = $this->input->post('featured_product_status', true);
        $data['featured_product_image']             = $this->input->post('featured_product_image', true);
       if( isset( $feat ) && is_array( $feat ) && count( $feat ) > 0 ){
            foreach( $feat as $key => $each ){
                $fin[]  = array(
                'product_id'                            => $each,
                'product_name'                          => $data['product_name'][$key],
                'featured_product_price'                => $data['featured_product_price'][$key],
                'featured_product_quantity'             => $data['featured_product_quantity'][$key],
                'featured_product_sku'                  => $data['featured_product_sku'][$key],
                'featured_product_short_description'    => $data['featured_product_short_description'][$key],
                'featured_product_long_description'     => $data['featured_product_long_description'][$key],
                'featured_product_status'               => $data['featured_product_status'][$key],
                'featured_product_image'                => $data['featured_product_image'][$key],
                );  
            }
       } 
    $this->sa_model->save_featured_product_info($fin);
    }
}
function save_featured_product_info($data){
    if( is_array( $data ) && count( $data ) > 0 ){
        $this->db->insert_batch('tbl_featured_products', $data);    
    }
}
function _insertProduct( $product ) {
    $this->db->insert( 'tbl_featured_products', $product );
    if ( $this->db->affected_rows() == '1' ) {return TRUE;}
    else {return FALSE;}

} 
if (isset($data['product_id']) && is_array($data['product_id'])) {