各位,大家好,我想请教下,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>
我读取数据库中的信息,然后在页面上列出,然后每条后面跟个文本框,想把文本框里填的数据依次加到前面的信息中。
但是加完后,发现,第一个文本框填的内容没加进去。举例: 数据库取 自己填 单击提交后的结果
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>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货