首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql数据库中插入动态值

如何在mysql数据库中插入动态值
EN

Stack Overflow用户
提问于 2013-12-02 18:14:36
回答 4查看 3.7K关注 0票数 1

我有一个表格,里面有内容名称,电话号码,地址,个人info....etc

我给了用户一个选项,让他们使用复选框来选择要插入的字段

在其他页面上检查过的字段,例如:如果他选择了姓名和地址

...then name and address appers....so如果有人在我的表单中选择了all选项,我如何使我的mysql database.....so保存所有数据....my mysql表应该保存所有数据...

因此,基本上我的问题是,我如何使我的mysql数据库dynamically...so,如果用户选择2选项,它可以插入2个值&如果用户选择所有选项,他可以保存所有的值.....

EN

回答 4

Stack Overflow用户

发布于 2013-12-02 18:54:49

首先,你必须清楚他们的任何必填字段在你的所有字段,我认为它必须是一些强制性的,否则会发生什么,如果用户只是提交表单,它会插入空白行到数据库中,所以要清楚哪个字段你想成为必填字段。

然后将所有其他字段放入复选框中,并创建一个包含所有字段名称的数据库表,默认值为null。

每次都使用数组将数据插入到数据库中,这样就不必每次都写入字段的名称和值

代码语言:javascript
复制
< form >
     < input type="text" name="detail['name']" value="" / >
     < input type="text" name="detail['age']" value="" / >
     < input type="text" name="detail['email']" value="" / >
     .
     .
     .
     .
   < / form >

你会在另一端得到什么?

代码语言:javascript
复制
 $detail = $_POST['detail'];

现在,从form发布的所有值及其字段名称都在$detail中。

不,轮到您进行查询了,该查询将把$detail数组的键作为表的列,$detail的值是要插入到数据库中的值,如下所示

代码语言:javascript
复制
 $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) ";

这就是我希望能帮到你的全部

票数 1
EN

Stack Overflow用户

发布于 2013-12-02 18:19:03

将插入database.selected选项中的所有字段的Create table字段值,对于其他字段,将插入null

票数 0
EN

Stack Overflow用户

发布于 2013-12-02 18:23:08

您所能做的就是创建一个包含表中所有列的数据库,或者只是在表if it does not exist中一次又一次地添加一列,但是已经添加到数据库中的列将会存在,即使您在删除它之前没有在其中添加数据

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20325726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档