我有一个表格,其中包含姓名、电话号码、地址、个人信息....等
并且我已经为用户提供了一个选项,让他可以使用复选框插入哪些字段
该字段已在其他页面上检查过应用程序,例如:他是否已选择姓名和地址
...然后是姓名和地址 appers...所以我如何制作我的 mysql 数据库...所以如果有人在我的表单中选择所有选项...我的 mysql 表应该保存所有数据... .
所以基本上我的问题是我怎样才能动态地创建我的 mysql 数据库......所以如果用户选择 2 个选项它可以插入 2 个值&如果用户选择所有选项他可以保存所有值......
最佳答案
首先你要清楚他们所有字段中的任何必填字段,我认为它必须是一些必填字段,否则会发生什么,如果用户只提交表单,它将插入空白行到数据库中,所以要清楚哪个字段你想强制执行。
然后将所有其他的都放在复选框中,并使用默认值为空的所有字段名称创建一个数据库表。
并且每次都使用数组将数据插入数据库,这样你就不必每次都写字段名称和它们的值
< form >
< input type="text" name="detail['name']" value="" / >
< input type="text" name="detail['age']" value="" / >
< input type="text" name="detail['email']" value="" / >
.
.
.
.
< / form >
你会在另一端得到什么
$detail = $_POST['detail'];
现在所有从表单发布的值及其字段名称都在 $detail 中。
轮到你做一个查询,它将 $detail 数组的键作为表的列, $detail 的值是要插入到数据库中的值
$field_string = '';
$value_string = '';
foreach($detail as $key => $val){
$field_string = $key.",";
$value_string = $value.",";
}
$field_string = trim($field_string, ",");
$value_string = trim($value_string, ",");
$query = "INSERT INTO table ($field_string) VALUES ($value_string) ";
希望对你有帮助
关于php - 如何将动态值插入mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20325726/