繁体   English   中英

在MySQL列中插入文本字段名称或ID作为值

[英]Insert Text Field Name or ID as Value in MySQL Column

在我极其有限的开发经验中,当我提交表单时,通常输入值的名称或ID与MySQL表中的一列相对应,并且名称/ ID和列的名称都是已知的。 但是我有一个相当于订单的东西,我有一个数字输入,并从具有所有可用项目的表中为名称/ ID分配唯一的ID。 动态填充名称/ ID时,如何提交输入名称或ID及其值?

例:

<?php '<input type="number" name="'.$row['itemID'].'" id="'.$row['itemID'].'">';?>

我要插入的表结构具有以下列:

  1. ITEMID
  2. 数量

itemID将从输入字段的名称中过帐,数量将是用户输入的输入字段的值。

任何指导是非常感谢。 谢谢!

您可以使用foreach($_POST as $id => $value)循环并获取密钥,但是除了用项目ID命名的输入值之外,您将永远无法使用其他输入值。

解决方案 :通过以下方法,您可以在表单内使用所需的任何其他输入:

<input type="number" name="products[<?php echo $row['itemID']; ?>]" id="<?php echo $row['itemID']; ?>" />

现在在您的php中,您可以访问$_POST ,它将如下所示:

[
   'products' => [
       '123' => 4,
       '456' => 1,
       ...
   ]
]

现在,您可以在foreach中遍历$_POST['products']而不用担心其他输入值。

foreach($_POST['products'] as $id => $num_purchases)
{
    //stuff
}

我不确定我是否理解正确,但是可能您需要隐藏的输入数组来存储$ _POST中的所有名称;

echo '<input type="hidden" name="allNames[]" value="'.$row['itemID'].'">';

发布后的代码中:

$all_names = $_POST['allNames'];
foreach($all_names as $key => $value) {
    echo $_POST[$value];    //Take the user input
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM