[英]INSERT/UPDATE PHP variables together with values of other tables in SQL
我有一个名为Users
的表。 该表包含以下参数: userID
, userName
, functionID
, supervisorID
, firstName
, lastName
和email
。
将用户加载到由EXT JS创建的应用程序中时,我在PHP中使用以下查询:
public function getEmployees(stdClass $params)
{
global $DBH;
$STH = $DBH->query(
"SELECT u.id, u.userName AS 'userName', f.functionName, us.userName AS 'supervisorName', u.firstName, u.lastName, u.email
FROM users AS u
INNER JOIN functions AS f ON u.functionID=f.id
LEFT JOIN users AS us ON u.supervisorID=us.id
ORDER BY u.id");
return $STH->fetchAll(PDO::FETCH_ASSOC);
}
因此,我没有通过functionID
和supervisorID
而是通过functionName
和supervisorName
。
我在应用程序上的网格显示userName
, functionName
(非ID), supervisorName
(非ID), firstName
,...
现在,如果我的应用程序传递了userName
, functionName
(因此需要将其转换为functionID
), supervisorName
(需要转换为supervisorID
),如何创建新用户以及如何更新用户,我将userName
, firstName
,...
我尝试了很多查询,但似乎无法弄清楚。
有人可以帮我吗?
提前致谢!
评论后更新:
我应该提到我的网站是使用Sencha的EXT JS构建的。
只有管理员可以编辑或创建新用户。
创建/编辑在EXT Grid中完成,JSON数据通过Ext.Direct传递给PHP。
因此,我需要一种方法来获取与应用程序传递的functionID
和supervisorID
关联的functionName
和supervisorID
。
我想您的表单具有组合框( <select>
)或类似控件(单选按钮设置,列表)来选择功能和管理器。 输入select
ID的值,而不是名称:
<select name="function">
<option value="1">Boss</option>
<option value="2">Stableman</option>
<option value="3">Servant</option>
<option value="4">Shepherd</option>
</select>
然后,您无需执行任何映射。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.