对于每个循环在php中不执行多次

时间:2015-07-14 09:30:24

标签: php loops

我有两个字段,一个是名字,另一个是这样的电子邮件。

<td class="left"><input style="  width: 30%; text-align: center;" type="text" name="name[]" value="<?php echo $geo_zone['name']; ?>" /></td>
<td class="left"><input style="  width: 30%; text-align: center;" type="email" name="email[]" value="<?php echo $geo_zone['email']; ?>" /></td>

名称是数组类型,因此我可以在运行时在其中存储多个值,因为我的表单是在运行时生成的,可能有多个名称和电子邮件,具体取决于数据库结果。

在我的控制器中,我只是在print_r()中获取这些值,以获得写入结果。但是当我为每个循环执行my时,它只运行一次并在数据库中插入最后一行。

$name= $this->request->post['name'];

$email= $this->request->post['email'];

foreach( $name as $key => $n ) {

$this->data['geo_zone_id']=$this->model_module_shipping_pools->Get_geo_zone_id($n);

$geo_zone_id=$this->data['geo_zone_id'];
$geo_zone_id=$geo_zone_id[0]['geo_zone_id'];

$this->model_module_shipping_pools->drop_data();
$mail=$email[$key];
$this->model_module_shipping_pools->insertData($geo_zone_id,$mail);

我不知道为什么它只运行一次。我在opencart工作。

1 个答案:

答案 0 :(得分:0)

您需要具有相同数组名称的多个输入标记才能拥有数组值!

例如(我不知道你如何生成原始的html)你可能有:

<f:ajax listener="#{bean.changeListernMethod}" render="@form" event="valueChange"/>

查看有关如何使用数组here

的示例