如何在输入字段中的数组中给出动态名称?

我有一个具有动态值的表单,它将检查该属性 ID,然后将其保存到数据库中。


例如,在我的数据库中有一个表,其标题为 id=1,类型为 id=2,描述为 id=3,提交表单后,它将检查该字段是否为标题或类型或描述以及它会将其保存在数据库中,即如果它是标题,它将保存属性 ID 值为 1 的字段标题的值。


     <form method="post" action="something.php">

     <input type="text" name="field[][title]" value="edison">

     <input type="text" name="field[][type]" value="book">

     <input type="text" name="field[][description]" value="some description">

     </form>

它没有使用foreach在php中输入普通数组,我不明白如何获取数组索引内的值以检查sql数据库,即检查字段[][title]”是否有id 1,如果字段是 field[][description]",它将检查 sql 中描述的属性 id 是 3


慕哥6287543
浏览 142回答 2
2回答

偶然的你

你需要反过来看。您首先需要查询您的数据库,以便您拥有哪个字段与哪个 ID 相关联的映射。然后,当您的信息发布时,您可以迭代该映射,检测它们是否已发布,并相应地使用它们:$mapping = loadFieldNamesToFieldId();/*&nbsp; mapping should look something like:&nbsp;&nbsp; $mapping = [&nbsp; &nbsp; &nbsp; 'title' => 1,&nbsp; &nbsp; &nbsp; 'type' => 2&nbsp; ];*/foreach ($_POST as $field_name => $field_value) {&nbsp;&nbsp; if (isset($mapping[$field_name]]) {&nbsp;&nbsp; &nbsp; $id = $mapping[$field_name];&nbsp; &nbsp; // at this point you know that the user submitted a field which&nbsp; &nbsp; // had $field_value, and which ID it relates to in your database&nbsp; }}此时,您可以将表单格式化为:<input type="text" name="title" value="edison">

胡子哥哥

我找到了这个答案并考虑发布这个,因为这与答案有关foreach ($_POST as $param_name => $param_val)&nbsp;{echo "Param: $param_name; Value: $param_val<br />\n";}
打开App,查看更多内容
随时随地看视频慕课网APP