各位,大家好,我想请教下,if  ($_POST[sub])之后的语句错在哪里了,错误体现在数据输入后,总是加到最后一行的上一行。
我读取数据库中的信息,然后在页面上列出,然后每条后面跟个文本框,想把文本框里填的数据依次加到前面的信息中。
但是加完后,发现,第一个文本框填的内容没加进去。举例:    数据库取    自己填    单击提交后的结果
       1          1           3   (数据库取1+自己填2)
       2          2           5   (数据库取2+自己填3)
       3          3           3
如上所示,“自己填”的第一行数据没有加入数据库,反而是自己填的第二行加到数据库里第一行去了。另外,数据库中,id是从1开始的
<html><head>
<?
   $conn=mysql_connect("localhost","root","root");
   mysql_select_db("mbase",$conn);
   mysql_query("set names 'GBK'");
   $sql="SELECT * FROM med ";
   $result=mysql_query($sql);
   if  ($_POST[sub])
{
     $abc=$_POST[addml];
     $count=mysql_num_rows($result);
     for($i=0;$i<=$count;$i++)
     {
    
     $sqladd="UPDATE med SET ml=ml+$abc[$i] WHERE id='($i+1)' ";
     mysql_query($sqladd,$conn);
     }
}

?>
</head>
<body>
<? include("main.php")?>
<br />
<?
 print_r($abc);
 
 echo $count;?>
<form name="addform" method="post" action="add.php"><table width="500" border="0" align="center" bgcolor="teal">
<tr bgcolor="orange">
<td><font color="black"><center>|ID|</center></font></td>
<td><font color="black"><center>|编号|</center></font></td>
<td><font color="black"><center>|名称|</center></font></td>
<td><font color="black"><center>|库存|</center></font></td>
<td><font color="black"><center>|入库|</center></font></td>
</tr>
<?
    while($row=mysql_fetch_array($result)){?>
<tr bgcolor="orange">
    
    <td><font color="black"><center><?=$row[id] ?></center></font></td>
    <td><font color="black"><center><?=$row[num] ?></center></font></td>
    <td><font color="black"><center><?=$row[name] ?></center></font></td>
    <td><font color="black"><center><?=$row[ml] ?></center></font></td>
    <td><font color="black"><center><input id="<?=$row[id] ?>" type="text" name="addml[]" value="0" /></center></font></td>
    </tr><?
}
?>
</table>
<center><input type="submit" name="sub" value="入库" /></center></form>
</body></html>