我正在运行以下查询以从 timesheetlogin 表中检索信息。
$clientlist = db_select("SELECT * FROM timesheetlogin WHERE type='client' ORDER BY company DESC");
$candlist = db_select("SELECT * FROM timesheetlogin WHERE type='cand' ORDER BY name DESC");
此信息以表单形式显示在前端。
<select name="client" id="client">
<?php
foreach($clientlist as $key => $value) {
$company = $clientlist[$key]["company"];
$name = " (" . $clientlist[$key]["name"] . ")";
echo '<option value="'. $company .'">'. $company . $name .' </option>';
$clientid = $clientlist[$key]["id"];
}
?>
</select><br />
所以表格有很多我没有显示的空白字段,只有客户和候选人姓名是从下拉列表中选择的。
最后我想将条目插入数据库:
if (isset($_POST['submit'])) {
$clientid = db_quote($_POST['client']);
$candid = db_quote($_POST['cand']);
这是SQL
db_query("INSERT INTO timesheets (clientid, candid, weekending, department, orderno, basicpay, basiccharge, otpay, otcharge, ot2pay, ot2charge, status, hue, huc) VALUES ('$client', '$cand', '$week_ending', '$department', '$order_no', '$basic_pay', '$basic_charge', '$ot_pay', '$ot_charge', '$ot2_pay', '$ot2_charge', '$status', '$hue', '$huc')");
我遇到的问题是我需要传递与 $_POST['client']
和 $_POST['cand']
关联的 id,而不是传递的字符串当前在选项字段中。
我最初的想法是做这样的事情来检查'client'字段并查询数据库以获取id的值:
if (isset($_POST['client'])) {
//code
}
虽然看起来很乱。我已经查询了数据库并遍历了 $clientlist
数组,因此在该循环中可以使用 id。有没有办法根据用户从选择框中选择的内容来分配 $clientid
变量?
谢谢
最佳答案
你可以像这样输入 id :
$clientid = $clientlist[$key]["id"];
echo '<option value="'.$clientid.'">'. $company . $name .' </option>';
关于php - 根据 HTML 选择选项在 PHP 中分配一个变量并将结果插入数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31558143/