我正在开发一个php / mysql系统。 我有一个表juncfees,其中包含字段 - juncid,matterid,staffid,fee。费用按小时计算费用。
该事项涉及物质表,而职员是指员工表,但我认为这与我想要实现的目标无关。
每年的费用都会每年增加,而我希望能够做的是有一个页面,让管理员可以在不涉及我的情况下这样做。在过去,我使用UPDATE juncfees SET费用='45'WHERE staffid ='5'等代码更改了值。这工作正常,但我宁愿其他人可以在没有直接数据库访问的情况下完成它。
我想象的是一个页面,其中有一个下拉列表的工作人员给我一个工作人员和一个可以输入新费用的方框然后一个按钮,一旦点击,将更新所有相关数据。
这是可能的,如果是的话,我该怎么做呢? (当然,如果有更好的方式,那么我很乐意遵循这条路线。)
非常感谢
答案 0 :(得分:0)
以下是来自w3的改编样本。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE juncfees SET fee='".$_POST['fee']."' WHERE staffid='".$_POST['staffid']."'";
if ($conn->query($sql) === TRUE) {
echo "Records updated successfully";
} else {
echo "Error updating records: " . $conn->error;
}
$conn->close();
?>
HTML只是一种简单的形式:
<form action="update.php" method="post">
StaffID: <input type=text name=staffid><br>
Fee: <input type=text name=fee><br>
<input type=submit>
</form>
HTML表单只是一个示例,实际上任何可以发布http数据的标记或语言都可以触发PHP代码(几乎所有这些代码都是如此)。因此,如果您想创建一个桌面应用程序来完成这项工作,那也很容易。
using System.Net;
function postData(float fee, int id)
{
var request = (HttpWebRequest)WebRequest.Create("http://www.example.com/update.php");
var postData = "fee="+fee;
postData += "&staffid="+id;
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
请记住,这只是最基本的示例,并且就用户访问或SQL注入而言没有任何保护。