[英]PHP & MYSQL Insert value text splitting “:” into next column e,g, name:email:type
[英]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'].'">';?>
我要插入的表结构具有以下列:
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.