我有一个表单,其中有9个复选框,每个将值1传递给提交页面,根据是否选中复选框来更新SQL 。
if (isset($_POST["cinn"])) {
$cinn = $_POST["cinn"];
} else {
$cinn = 0;
} if (isset($_POST["suga"])) {
$suga = $_POST["suga"];
} else {
$suga = 0;
} if (isset($_POST["bana"])) {
$bana = $_POST["bana"];
} else {
$bana = 0;
} if (isset($_POST["toba"])) {
$toba = $_POST["toba"];
} else {
$toba = 0;
} if (isset($_POST["spic"])) {
$spic = $_POST["spic"];
} else {
$spic = 0;
} if (isset($_POST["mint"])) {
$mint = $_POST["mint"];
} else {
$mint = 0;
} if (isset($_POST["sour"])) {
$sour = $_POST["sour"];
} else {
$sour = 0;
} if (isset($_POST["nutt"])) {
$nutt = $_POST["nutt"];
} else {
$nutt = 0;
} if (isset($_POST["glas"])) {
$glas = $_POST["glas"];
} else {
$glas = 0;
}
您已经可以说出这看起来有多糟糕。因为我想插入0或1到SQL中,从我的理解我需要检查每个复选框的$ _POST名称是否有效(选中),并从中设置一个变量。在这里使用数组真的很不错,但是由于每个复选框都有不同的名称,我不认为我可以。
我喜欢像下面,而不是垃圾我目前有:
//checkbox sends either a 1 if checked or 0 if unchecked via $_POST
//no if/else complex is needed; individual variables aren't even needed
//can just reference $_POST instead of initializing
三元运营商将减少线路的数量,但是这整个布尔检查我想象是不必要的。
$cinn = isset($_POST["cinn"]) ? $_POST["cinn"] : 0;
$suga = isset($_POST["suga"]) ? $_POST["suga"] : 0;
$bana = isset($_POST["bana"]) ? $_POST["bana"] : 0;
$toba = isset($_POST["toba"]) ? $_POST["toba"] : 0;
$spic = isset($_POST["spic"]) ? $_POST["spic"] : 0;
$mint = isset($_POST["mint"]) ? $_POST["mint"] : 0;
$sour = isset($_POST["sour"]) ? $_POST["sour"] : 0;
$nutt = isset($_POST["nutt"]) ? $_POST["nutt"] : 0;
$glas = isset($_POST["glas"]) ? $_POST["glas"] : 0;
看看[在这个答案](http://stackoverflow.com/a/4997271/643850)听起来像这就是你想要做的。 – d3c0y