我正在做一个表格,其中我必须将复选框btn组中的几个值插入我的dB到不同的列中。我还必须插入两个不同的值,具体取决于是否检查了btn。
我通过以下方式使其工作,但是还有另一种方式使它变得更简单吗?这是很多问题:)。
谢谢你的时间。
最好的祝福!
NM
<?php
if(isset($_POST["submit"])){
// Create connection
include ('connection.php');
if(isset($_POST['fixvalue']) && ($_POST['fixvalue'] == 0)) {
$fixvalue= "fixvalue";
} else {
$fixvalue= 0;
};
if(isset($_POST['frtvalue']) && ($_POST['frtvalue'] == 0)) {
$valueone= "valueone";
} else {
$valueone= 0;
};
if(isset($_POST['secvalue']) && ($_POST['secvalue'] == 0)) {
$valuetwo= "valuetwo";
} else {
$valuetwo= 0;
};
if(isset($_POST['thevalue']) && ($_POST['thevalue'] == 0)) {
$valuethree= "valuethree";
} else {
$valuethree= 0;
};
if(isset($_POST['fovalue']) && ($_POST['fovalue'] == 0)) {
$valuefour= "valuefour";
} else {
$valuefour= 0;
};
if(isset($_POST['fitvalue']) && ($_POST['fitvalue'] == 0)) {
$valuefive= "valuefive";
} else {
$valuefive= 0;
};
$sql = "INSERT INTO values(fixvalue,valueone,valuetwo,
valuethree,valuefour,valuefive)
VALUES('".$fixvalue."','".$valueone."','".$valuetwo."',
'".$valuethree."','".$valuefour."','".$valuefive."')";
if ($con->query($sql) === TRUE) {
echo'<button class="btn btn-success" style="left:400px;bottom:20px;width:200px;">Sucess</button>';
echo "<script type= 'text/javascript'>alert('New record OK');</script>";
} else {
echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" $con->error."');</script>";
}
$con->close();
}
?>
最佳答案
这是我会做的:
<form action="" method="post">
<input type="checkbox" name="fixvalue"> Checkbox<br>
<input type="checkbox" name="valueone"> Checkbox 1<br>
<input type="checkbox" name="valuetwo"> Checkbox 2<br>
<input type="checkbox" name="valuethree"> Checkbox 3<br>
<input type="checkbox" name="valuefour"> Checkbox 4<br>
<input type="checkbox" name="valuefive"> Checkbox 5<br>
<input type="submit" name="submit">
</form>
<?php
$fields = [
'fixvalue' => 0,
'valueone' => 0,
'valuetwo' => 0,
'valuethree' => 0,
'valuefour' => 0,
'valuefive' => 0
];
if($_POST['submit']){
foreach($_POST as $key => $value) {
if($key !== 'submit') {
$fields[$key] = $key;
}
}
extract($fields);
$sql = $db->prepare("INSERT INTO table_name (fixvalue, valueone, valuetwo, valuethree, valuefour, valuefive) VALUES(:fixvalue, :valueone, :valuetwo, :valuethree, :valuefour, :valuefive)");
foreach ($fields as $key => $value) {
$sql->bindValue(':'.$key, $$value);
}
$sql->execute();
}
?>