php - 如何将动态值插入mysql数据库

标签 php mysql sql database dynamic

我有一个表格,其中包含姓名、电话号码、地址、个人信息....等

并且我已经为用户提供了一个选项,让他可以使用复选框插入哪些字段

该字段已在其他页面上检查过应用程序,例如:他是否已选择姓名和地址

...然后是姓名和地址 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/

相关文章:

javascript - 如何在 Table 内的按钮元素上定义新的 ajax 函数

php - Vagrant/Puppet --- 确保 : change from present failed: Could not set 'present on ensure: No such file or dir

php - mssql > php > mysql 之间的日期转换/提取问题

mysql - Zabbix - 缓冲池利用率太低

sql - Postgres 中的时间序列

javascript - 将变量从 .html 传递到 .php 那太大而不适合 URL?

php - 部署到服务器后更新数据库时出错。拉拉维尔 5

mysql - curdate() 的时间?

sql - hstore:无法连接两个 hstore 值

java - Hibernate/JPA 不检测位置参数