我有这样的情况,我想更新一些输入为复选框的数据,我在下面尝试了这段代码。数据已保存在数据库中,但数据保存在另一行,
例如:我检查了 BirdA 的红色、黄色和灰色,同时检查了 BirdD 的深色和蓝色。在数据库中,BirdA 的颜色正确保存,但对于第二只鸟,深蓝色保存在 BirdB 上(应该保存在 BirdD 上)
我想解决我上面的问题,所以数据应该保存在数据库中的正确位置。请在下面检查我的代码:
我的数据库表:
=============================================
| birds | red | blue | grey | yellow | dark |
=============================================
| BirdA | 0 | 0 | 0 | 0 | 0 |
| BirdB | 0 | 0 | 0 | 0 | 0 |
| BirdC | 0 | 0 | 0 | 0 | 0 |
| BirdD | 0 | 0 | 0 | 0 | 0 |
=============================================
看法 :
<tr>
<td><input type="hidden" name="birds[]" value='<?php echo $dp['birds']; ?>' /><?php echo $dp['birds']; ?></td>
<td><p align='center'><input type="text" name="qtt[]" value='<?php echo $dp['qtt']; ?>' tabindex="2" style="width:30px;" /></td>
<td><p align='center'><input type="checkbox" name="red[]" value='1' <?php if($dp['red']==1) { echo " checked=\"checked\""; } ?> /></td>
<td><p align='center'><input type="checkbox" name="blue[]" value='1' <?php if($dp['blue']==1) { echo " checked=\"checked\""; } ?> /></td>
<td><p align='center'><input type="checkbox" name="grey[]" value='1' <?php if($dp['grey']==1) { echo " checked=\"checked\""; } ?> /></td>
<td><p align='center'><input type="checkbox" name="yellow[]" value='1' <?php if($dp['yellow']==1) { echo " checked=\"checked\""; } ?> /></td>
<td><p align='center'><input type="checkbox" name="dark[]" value='1' <?php if($dp['dark']==1) { echo " checked=\"checked\""; } ?> /></td>
</tr>
和控制器:
$birds= $this->input->post("birds");
if (empty($this->input->post("birds"))){
$birds= 0;
}
$qtt= $this->input->post("qtt");
if (empty($this->input->post("qtt"))){
$qtt= 0;
}
$red= $this->input->post("red");
if (empty($this->input->post("red"))){
$red= 0;
}
$blue= $this->input->post("blue");
if (empty($this->input->post("blue"))){
$blue= 0;
}
$grey= $this->input->post("grey");
if (empty($this->input->post("grey"))){
$grey= 0;
}
$yellow= $this->input->post("yellow");
if (empty($this->input->post("yellow"))){
$yellow= 0;
}
$dark= $this->input->post("dark");
if (empty($this->input->post("dark"))){
$dark= 0;
}
for($x = 0; $x < sizeof($birds); $x++){
$reslt[$x] = array(
"birds" => $birds[$x],
"qtt" => $qtt[$x],
"red" => $red[$x],
"blue" => $blue[$x],
"grey" => $grey[$x],
"yellow" => $yellow[$x],
"dark" => $dark[$x]
);
}
$this->db->update_batch('db_birds', $reslt, 'birds');
执行该代码后,php 出现如下错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: x
Filename: controllers/....
Line Number: 613
Backtrace:
File: /home/.....
Line: 613
Function: _error_handler
File: /home/..../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 3
Filename: controllers/....
Line Number: 621
Backtrace:
File: /home/....
Line: 621
Function: _error_handler
File: /home/..../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 3
Filename: controllers/...
Line Number: 622
Backtrace:
File: /home/...
Line: 622
Function: _error_handler
File: /home/.../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 4
Filename: controllers/...
Line Number: 620
Backtrace:
File: /home/...
Line: 620
Function: _error_handler
File: /home/.../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 4
Filename: controllers/...
Line Number: 621
Backtrace:
File: /home/...
Line: 621
Function: _error_handler
File: /home/.../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 4
Filename: controllers/...
Line Number: 622
Backtrace:
File: /home/...
Line: 622
Function: _error_handler
File: /home/.../index.php
Line: 315
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 5
Filename: controllers/...
Line Number: 618
Backtrace:
File: /home/...
Line: 618
Function: _error_handler
File: /home/.../index.php
Line: 315
Function: require_once
......
谢谢您最好的问候