一维数组提交后变成多维数组
Single dimensional array becomes multidimensional after submit
我已经研究过了,找不到答案,所以我现在在这里寻求专业人士的建议。
我有一个查询 returns 模型中的一个数组:
$sql = "SalesList ";
$sql = $sql."'".$current_company_code."', ";
$sql = $sql."'".trim($current_user_id)."', ";
$sql = $sql."'".$as_date."', ";
$sql = $sql.$language_no;
$DB=$this->load->database($current_database,TRUE);
$query = $DB->query($sql);
return $query->result();
在控制器中:我将结果传递给 $data['sales_list'] 并加载到视图
$data['sales_list'] = $this->SalesList->GetSalesList($current_database,$current_company_code,$current_user_id,date('Y-m-d 23:59:59'),$language_no);
$this->load->view('Sales_Record', $data);
在视图中:
<?php foreach ($sales_list as $record): ?>
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d[]',trim($record->sp_name));?>"/>
<?php endforeach; ?>
问题:
提交后,相同的编码(首次加载时没有问题)提示以下错误:
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Line Number: 39
Array"/>
第39行指的是:
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d[]',trim($record->sp_name));?>"/>
需要帮助。谢谢你。
此致,朵朵程序员
[更新]问题原因(菜鸟错误):
我有一些代码在 set_value 中使用索引(用于单选按钮参考)导致多维数组:
<input type="radio" name="status_d[<?php echo $counter;?>]" id="status_d[]" value="1" <?php echo set_value('status_d['.$counter.']', '1', $record->status==1); ?> checked />
解决方法:
在视图中添加索引 set_value:
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d['.$counter.']',trim($record->sp_name));?>"/>
问题是:
set_value() - 第一次没有输入,所以它变成了一个空字符串,但是提交后它是一个数组,仍然是数组。
在新加载页面时,没有以前的输入数据,因此在通过 set_value 设置时,表单中的所有内容都是空的。
我已经研究过了,找不到答案,所以我现在在这里寻求专业人士的建议。
我有一个查询 returns 模型中的一个数组:
$sql = "SalesList ";
$sql = $sql."'".$current_company_code."', ";
$sql = $sql."'".trim($current_user_id)."', ";
$sql = $sql."'".$as_date."', ";
$sql = $sql.$language_no;
$DB=$this->load->database($current_database,TRUE);
$query = $DB->query($sql);
return $query->result();
在控制器中:我将结果传递给 $data['sales_list'] 并加载到视图
$data['sales_list'] = $this->SalesList->GetSalesList($current_database,$current_company_code,$current_user_id,date('Y-m-d 23:59:59'),$language_no);
$this->load->view('Sales_Record', $data);
在视图中:
<?php foreach ($sales_list as $record): ?>
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d[]',trim($record->sp_name));?>"/>
<?php endforeach; ?>
问题: 提交后,相同的编码(首次加载时没有问题)提示以下错误:
A PHP Error was encountered
Severity: Notice
Message: Array to string conversion
Line Number: 39
Array"/>
第39行指的是:
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d[]',trim($record->sp_name));?>"/>
需要帮助。谢谢你。 此致,朵朵程序员
[更新]问题原因(菜鸟错误): 我有一些代码在 set_value 中使用索引(用于单选按钮参考)导致多维数组:
<input type="radio" name="status_d[<?php echo $counter;?>]" id="status_d[]" value="1" <?php echo set_value('status_d['.$counter.']', '1', $record->status==1); ?> checked />
解决方法: 在视图中添加索引 set_value:
<input type="hidden" name="sp_name_d[]" id="sp_name_d[]" value="<?php echo set_value('sp_name_d['.$counter.']',trim($record->sp_name));?>"/>
问题是: set_value() - 第一次没有输入,所以它变成了一个空字符串,但是提交后它是一个数组,仍然是数组。
在新加载页面时,没有以前的输入数据,因此在通过 set_value 设置时,表单中的所有内容都是空的。