PHP数组通过多种形式输入

时间:2012-10-01 17:37:04

标签: php mysql arrays forms loops

我有以下代码:

$query = "SELECT * FROM items WHERE SUBSTRING(item_no, 1, ".$length.") BETWEEN 
'".$from_new."' AND '".$to_new."' ORDER BY item_no Desc";
$result = mysql_query($query);

$dd=array();
$ii=array();
$qq=array();
$aa=array();

if(mysql_num_rows($result)>0){
$num = mysql_num_rows($result);
?>

<form method="post" action="final_group_items.php">

<?php
echo "<table>";
for($i=0;$i<$num;$i++){
$row = mysql_fetch_array($result);
echo "<tr><td align=center>"; ?>

<input disabled  maxlength="2" type="text"
name="ii[]" value="<?php echo strtoupper($row['item_no']); ?>"><?php echo 
"</td><td align=center>";?> 

<input disabled maxlength="2" type="text" 
name="qq[]" value="<?php echo $row['qty'];?>"> 

<?php echo "</td><td align=center>"; ?> 

<input disabled maxlength="2" type="text" 
name="aa[]" value="<?php echo $row['actual_price'];?>"> 

<?php echo "</td><td align=center>";?>

<input required maxlength="2" type="text" name="dd[]" value="<?php echo 
$row['discount_price']; ?>">
<?php
echo "</td><tr>";
}   
echo "</table>";
?>

<input type="submit" value="Change Values">
</form>

现在,当我点击提交时,它将打开final_group_items.php,其中包含以下测试代码,以确保所有数组(ii,qq,dd,aa)是否为空:

if(empty($_POST['qq']))
   {
     echo "No value inside";
     return false;

   }
   foreach($_POST['qq'] as $test)
   {
     echo $test;
   }
   return true;

所以通过测试所有数组,唯一有效的是$ _POST ['dd'] ...其他输出“没有内部值”我真的不知道怎么回事? 当我有多个具有uniqe数组和值的字段时,我该怎么办。

谢谢

1 个答案:

答案 0 :(得分:1)

此:

<input disabled maxlength="2" type="text" name="qq[]" value="<?php echo $row['qty'];?>">  

会阻止浏览器在表单提交时发布字段,因为disabled的隐式值为"disabled"

应删除该属性:

<input maxlength="2" type="text" name="qq[]" value="<?php echo $row['qty'];?>">