Php 显示现有和;不存在的ID';s比较<;选择>;
我有一个mysql表格“team”,里面有员工的姓名和IDPhp 显示现有和;不存在的ID';s比较<;选择>;,php,mysql,Php,Mysql,我有一个mysql表格“team”,里面有员工的姓名和ID ID | Employee_Name ------------------ 1 John 2 Joe 3 Jack 4 Jill Im将分配给这些员工的项目保存在“项目”表中的数组中,作为“员工ID” ID | Project_Name | Employee_IDS -------------------------------- 1 Abc Project 1,3,4 2 Dfg Proje
ID | Employee_Name
------------------
1 John
2 Joe
3 Jack
4 Jill
Im将分配给这些员工的项目保存在“项目”表中的数组中,作为“员工ID”
ID | Project_Name | Employee_IDS
--------------------------------
1 Abc Project 1,3,4
2 Dfg Project 2,4
-
我想显示已分配给特定部门的员工列表
项目和那些不是
包含该数组的php变量是$pEmployees
<select name="pemployees[]" id="pemployees" multiple>
<?php
$myArray1 = explode(',', $ppemployees);
foreach($myArray1 as $my_Array1)
{
$sqlget5 = "SELECT * FROM team WHERE id=\"$my_Array1\";";
$resget5 = mysql_query($sqlget5);
if(mysql_num_rows($resget5) == 0)
{
?>
<option value="<?php echo $row5['id']; ?>"><?php echo $row5['FirstName']; ?></option>
<?php
}
else
{
while($row5 = mysql_fetch_array($resget5))
{
?>
<option value="<?php echo $row5['id']; ?>" selected><?php echo $row5['FirstName']; ?></option>
<?php
}
}
}
?>
当前我只获取现有值,我还想显示不存在的值。尝试使用
FIND\u IN\u SET()
连接两个表的查询:
SELECT t2.Project_Name,
t1.Employee_Name,
CASE WHEN FIND_IN_SET(t1.ID, t2.Employee_IDS) > 0
THEN 'Assigned'
ELSE 'Unassigned' END AS status
FROM team t1
INNER JOIN projects t2
ORDER BY t2.Project_Name, t1.Employee_Name
请注意,我们实际上在这里使用了交叉连接,在MySQL中,它可以使用内部连接
表示,而不使用打开
条件。交叉连接的原因是,我们希望让每个员工都参与到每个项目中,而不考虑任何条件。然后,我们使用CASE
表达式来确定是否将员工分配到特定项目
此处演示:
您正在使用任何复选框来显示在项目中分配的员工。。您的显示视图应如何…??@Sona Im使用multi-Selection如何同时突出显示项目中的人员如何显示不在项目中的员工??我只想获取匹配为匹配值而不匹配为非匹配值的id我只想获取匹配为匹配值和不匹配作为非匹配值