如何将值从一个复选框插入MySQL? [英] How do I insert the value from a checkbox into MySQL?
本文介绍了如何将值从一个复选框插入MySQL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
MySQL
`field1` tinyint(1)NOT NULL default'1',
`field2` tinyint(1)NOT NULL默认'1',
`field3` tinyint(1)NOT NULL默认'1',
` 1',
`field5` tinyint(1)NOT NULL default'1',
HTML
< form method =post>
< input type =hiddenname =blahvalue =blah>
< input type =checkboxname =field1value =1>
< input type =checkboxname =field2value =1>
< input type =checkboxname =field3value =1>
< input type =checkboxname =field4value =1>
< input type =checkboxname =field5value =1>
< button type =submit>提交< / button>
< / form>
PHP
mysql_query(UPDATE`table` SET`field1` ='$ _POST [field1]',.......);
所以,我想做的是:
a)如果选中复选框,我想使用 1
更新相应的字段b)如果取消选中该复选框,我要使用
0
更新字段现在,请告诉我不必这样做,并且有一个更好的方法这样做:
$ field1 = isset($ _ POST ['field1'])? 1:0;
$ field2 = isset($ _ POST ['field2'])? 1:0;
$ field3 = isset($ _ POST ['field3'])? 1:0;
$ field4 = isset($ _ POST ['field4'])? 1:0;
$ field5 = isset($ _ POST ['field5'])? 1:0;
mysql_query(UPDATE`table` SET`field1` ='$ field1',`field2` ='$ field2'....);
解决方案
您可以使用 ]
< input type =checkboxname =field [0]value = 1>
< input type =checkboxname =field [1]value =1>
所以你可以做一个简单的循环:
for($ i = 0; $ i <5; $ i ++)
$ field [$ i] = isset($ _ POST ['field'] [$ i] )? 1:0;
然后构建您的SQL
你想要跳过isset部分你可以使用无线电类型,所以你总是或 1
值或 0
值已设置。
MySQL
`field1` tinyint(1) NOT NULL default '1',
`field2` tinyint(1) NOT NULL default '1',
`field3` tinyint(1) NOT NULL default '1',
`field4` tinyint(1) NOT NULL default '1',
`field5` tinyint(1) NOT NULL default '1',
HTML
<form method="post">
<input type="hidden" name="blah" value="blah">
<input type="checkbox" name="field1" value="1">
<input type="checkbox" name="field2" value="1">
<input type="checkbox" name="field3" value="1">
<input type="checkbox" name="field4" value="1">
<input type="checkbox" name="field5" value="1">
<button type="submit">Submit</button>
</form>
PHP
mysql_query("UPDATE `table` SET `field1` = '$_POST[field1]', .......");
So, what I want to do is:
a) If the checkbox is checked, I want to update the appropriate field with 1
b) If the checkbox is unchecked, I want to update the field with 0
And now, please tell me I don't have to do it like this and that there is a nicer way of doing it:
$field1 = isset($_POST['field1']) ? 1 : 0;
$field2 = isset($_POST['field2']) ? 1 : 0;
$field3 = isset($_POST['field3']) ? 1 : 0;
$field4 = isset($_POST['field4']) ? 1 : 0;
$field5 = isset($_POST['field5']) ? 1 : 0;
mysql_query("UPDATE `table` SET `field1` = '$field1', `field2` = '$field2' ....");
解决方案
You can use field[]
<input type="checkbox" name="field[0]" value="1">
<input type="checkbox" name="field[1]" value="1">
So you can do a simple loop:
for($i=0;$i<5;$i++)
$field[$i] = isset($_POST['field'][$i]) ? 1 : 0;
And then build your SQL
If you want to skip the isset Part you could use a radio type, so You have always or the 1
value or 0
value setted.
这篇关于如何将值从一个复选框插入MySQL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文