1

私は次のコードを持っています:

$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>

[送信] をクリックすると、すべての配列 (ii、qq、dd、aa) が空でないことを確認する次のテスト コードを含む final_group_items.php が開きます。

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

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

したがって、すべての配列をテストすることにより、機能するのは $_POST['dd'] だけです...その他は「内部に値がありません」と出力しますが、その方法や理由は本当にわかりませんか? 一意の配列と値を持つフィールドが複数ある場合はどうすればよいですか。

ありがとうございました

4

1 に答える 1

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'];?>">  
于 2012-10-01T17:39:48.880 に答える