如何将值从一个复选框插入MySQL? [英] How do I insert the value from a checkbox into MySQL?

查看:211
本文介绍了如何将值从一个复选框插入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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆