php - 用复选框mysql php替换文本框
问题描述
我正在使用 php 和 mysql 以管理员身份更新数据库内的用户数据,我有一个文本框允许管理员输入已批准或未批准,现在我想尝试将已批准或未批准的文本框更改为管理员可以单击复选框批准的复选框,数据将根据被选中的用户更新,因为我不确定如何去做。谢谢
<?php
require('connection.php');
if (isset($_POST['submit'])) {
$prescription = $_FILES['prescription']['name'];
$image_tmp = $_FILES['prescription']['tmp_name'];
move_uploaded_file($image_tmp,"medical-prescription/$prescription");
$sql = $conn->prepare("UPDATE users SET approved=?,prescription=? WHERE id=?");
$approved=$_POST['approved'];
$sql->bind_param("ssi",$approved, $prescription,$_GET["id"]);
if($sql->execute()) {
$success_message = "Edited Successfully";
} else {
$error_message = "Problem in Editing Record";
}
}
$sql = $conn->prepare("SELECT * FROM users WHERE id=?");
$sql->bind_param("i",$_GET["id"]);
$sql->execute();
$result = $sql->get_result();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
}
$conn->close();
?>
<?php if(!empty($success_message)) { ?>
<div class="success message"><?php echo $success_message; ?></div>
<?php } if(!empty($error_message)) { ?>
<div class="error message"><?php echo $error_message; ?></div>
<?php } ?>
<form method="post" action="" enctype="multipart/form-data">
<label>approved</label>
<input type="text" name="approved" class="txtField" value="<?php echo $row["approved"]?>">
<label>Medical prescription</label>
<input type="file" name="prescription" id="prescription" required/><br>
<input type="submit" name="submit" value="Submit" class="demo-form-submit">
</form>
解决方案
您可以这样做:更改 HTML:
<input type="checkbox" name="approved" class="txtField" value="<?php echo $row["approved"]?>"> Approved?
php:
替换这个:
...
$approved=$_POST['approved'];
...
和:
...
$approved=(isset($_POST['approved'])) ? $_POST['approved']: "Not approved"; // Or any other text value what you use
...
这是格式化的代码:
<?php
require('connection.php');
if (isset($_POST['submit'])) {
$prescription = $_FILES['prescription']['name'];
$image_tmp = $_FILES['prescription']['tmp_name'];
move_uploaded_file($image_tmp,"medical-prescription/$prescription");
$sql = $conn->prepare("UPDATE users SET approved=?,prescription=? WHERE id=?");
//HERE WE CHANGE
$approved=(isset($_POST['approved'])) ? $_POST['approved']: "Not approved";
$sql->bind_param("ssi",$approved, $prescription,$_GET["id"]);
if($sql->execute()) {
$success_message = "Edited Successfully";
} else {
$error_message = "Problem in Editing Record";
}
}
$sql = $conn->prepare("SELECT * FROM users WHERE id=?");
$sql->bind_param("i",$_GET["id"]);
$sql->execute();
$result = $sql->get_result();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
}
$conn->close();
?>
<?php if(!empty($success_message)) { ?>
<div class="success message"><?php echo $success_message; ?></div>
<?php } if(!empty($error_message)) { ?>
<div class="error message"><?php echo $error_message; ?></div>
<?php } ?>
<form method="post" action="" enctype="multipart/form-data">
<label>approved</label>
<input type="checkbox" name="approved" class="txtField" value="<?php echo $row["approved"]?>"> Approve?
<label>Medical prescription</label>
<input type="file" name="prescription" id="prescription" required/><br>
<input type="submit" name="submit" value="Submit" class="demo-form-submit">
</form>
这是测试:
$('form').on('submit', function(e){
e.preventDefault();
var data = $(this).serialize();
alert("Submitted data: {" + data + '}');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="approved" class="txtField" value="Yes"> Approved?
<button type="submit" name="submit" value="submit">Submit</button>
</form>
推荐阅读
- mysql - 使用 MySQL 在给定表中查找具有起始位置和目的地位置的城市的出现
- image - 如何在相机或画廊之间的颤振应用程序中设置源?
- python - 请从power BI解决这个错误?
- android - 我无法以编程方式断开电话
- javascript - 如何使用rater js在Jquery每个函数中显示用户率
- python - 如何分组和排除不匹配的数据?
- typescript - 如何将 createAsyncThunk 与 Typescript 一起使用?如何设置 `pending` 和 `rejected` 有效载荷的类型?
- javascript - 如何从本地存储中获取针对其值的下拉(HTML 选择)文本?
- c# - 如何在 System.Text.Json 中序列化抽象类
- haskell - 通过 haskell persist 使用 DISTINCT 关键字