首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP从html表单向mysql插入可变数量的记录。

PHP从html表单向mysql插入可变数量的记录。
EN

Stack Overflow用户
提问于 2013-11-28 08:29:39
回答 2查看 823关注 0票数 0

我有一个HTML表单,检索不同数量的产品类型,用户输入股票数字。然后需要将该数据插入到新表中。下面是填充表单的PHP查询。

代码语言:javascript
复制
require_once 'config.php';

$i = 1;

$sql = "SELECT * FROM dealer_product WHERE customer_code='$custcode' ORDER BY prod_code";
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result)) {

$prodcode = $row['prod_code'];

echo "<tr><td><input type='text' name='prod".($i++)."' value='" . $prodcode . "'/></td><td><input type='number' name='openstock".($i++)."'/></td><td><input type='number' name='sold".($i++)."'/></td></tr>";

}

mysql_close($con);
?>

我知道如何插入设定数量的多条记录,但如何插入不同数量的记录?提前谢谢。对不起,对于我的基本知识,我是一个网络管理员,不是PHP MYSQL。

EN

回答 2

Stack Overflow用户

发布于 2013-11-28 08:34:22

将输入字段命名为数组,例如:

代码语言:javascript
复制
<input name="prods[0]" />

然后,您可以在您的超文本标记语言中输出可变数量的输入,甚至可以使用JavaScript添加更多。PHP会将输入转换为数组,您可以在该数组上进行迭代:

代码语言:javascript
复制
<?php
    foreach ($_POST['prods'] as $prod) {
        /* Process $prod */
    }
?>
票数 0
EN

Stack Overflow用户

发布于 2013-11-28 08:53:14

我建议您使用相同的方法,但使用

while ($row = mysql_fetch_assoc($result))

现在你没有用数字作为索引,这是一种更复杂的查看事物的方式,最好看看关联方式,这是mysql表中的列名。

你在那里做了很多增量,做了很多次$i++。我不知道你是不是故意这样做的,但如果不是的话,那就让$i递增一次。

此外,还可以使用以下命令获取行数:

代码语言:javascript
复制
if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
}

看看手册里面

http://us1.php.net/mysql_fetch_assoc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20255690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档