2012-01-09 61 views
0

我想在复选框后的数据,像发布和处理数据

<?php foreach($data as $foreignid => $id): ?> 
<input type="checkbox" 
     name="photoids[<?php echo $foreignid; ?>]" 
     value="<?php echo $id;?>" 
         /> 

如果我走这条路只有一个键值对留在我$_POST阵列。

如果我离开photoids[]阵列空(不是呼应了$foreignid)的所有键值对仍然在$_POST阵,但后来我没有访问$foreignid变量,我需要在我的代码。

这个问题的最佳解决方法是什么?

回答

1

使用此:

<?php foreach($data as $foreignid => $id): ?> 
<input type="checkbox" 
     name="photoids_<?php echo $foreignid; ?>" 
     value="<?php echo $id;?>" 
        /> 

,然后解析键在$_POST阵列与photoids开始获得foreignid。

或者使用:

<?php foreach($data as $foreignid => $id): ?> 
<input type="checkbox" 
     name="photoids[]" 
     value="<?php echo $foreignid . '_' . $id;?>" 
        /> 

,然后解析值来获得foreignid和id。

当然,假设下划线'_'不会显示在foreignid或id中。

可以使用解析名称或值:

$src = '123_987'; 
$arr = explode('_', $src); 

$arr[0]将包含123和$arr[1]将包含987

0

也许是这样的:

<?php foreach($data as $foreignid => $id): ?> 
<input type="checkbox" 
name="photoids[<?php echo $foreignid; ?>]" 
value="<?php echo $foreignid."/".$id."/".$data;?>" 
/>