我有一个表格,里面有内容名称,电话号码,地址,个人info....etc
我给了用户一个选项,让他们使用复选框来选择要插入的字段
在其他页面上检查过的字段,例如:如果他选择了姓名和地址
...then name and address appers....so如果有人在我的表单中选择了all选项,我如何使我的mysql database.....so保存所有数据....my mysql表应该保存所有数据...
因此,基本上我的问题是,我如何使我的mysql数据库dynamically...so,如果用户选择2选项,它可以插入2个值&如果用户选择所有选项,他可以保存所有的值.....
发布于 2013-12-02 18:54:49
首先,你必须清楚他们的任何必填字段在你的所有字段,我认为它必须是一些强制性的,否则会发生什么,如果用户只是提交表单,它会插入空白行到数据库中,所以要清楚哪个字段你想成为必填字段。
然后将所有其他字段放入复选框中,并创建一个包含所有字段名称的数据库表,默认值为null。
每次都使用数组将数据插入到数据库中,这样就不必每次都写入字段的名称和值
< 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'];现在,从form发布的所有值及其字段名称都在$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) ";这就是我希望能帮到你的全部
发布于 2013-12-02 18:19:03
将插入database.selected选项中的所有字段的Create table字段值,对于其他字段,将插入null
发布于 2013-12-02 18:23:08
您所能做的就是创建一个包含表中所有列的数据库,或者只是在表if it does not exist中一次又一次地添加一列,但是已经添加到数据库中的列将会存在,即使您在删除它之前没有在其中添加数据
https://stackoverflow.com/questions/20325726
复制相似问题