php - 该代码仅输出第一行
问题描述
我想从中获取员工姓名,$projSDE_1
其中包含emp ID
函数下面 for 循环中的每一行。对于下面func_GetEmpName($empID)
的代码,它应该显示 10 行,$projSDE_1's name
但问题是代码只输出第一行。为什么其他 9 行不能要显示吗?我已经被这个问题困扰了 1 周。如果我删除该功能,它将显示 10 行。感谢所有帮助。
<?php
for($i=0; $i<db_rowcount();$i++){
//loop through every result set
$projID=db_get($i,0);
$projNo=db_get($i,1);
$projDesc=db_get($i,2);
$projSDE_1=db_get($i,8);//1st Services Development Engineer
$projSDE_1_name = func_GetEmpName($projSDE_1);//get name from function
}//endfor
function func_GetEmpName($empID) {
$sqlEmp="select EmpID,LastName2_c from empbasic WHERE EmpID= '".$empID."'";
db_select($sqlEmp);
$rowcount=db_rowcount();
if(db_rowcount()>0){
for($f=0;$f<count($empID);$f++){
$empID=db_get($f,0);
$empName=db_get($f,1);
}
}
return $empName;
} // function
?>
解决方案
正如CBroe所说,你$empName
在每个循环中都覆盖了。将变量放在数组中以避免这种情况。
<?php
$projSDE_1_IDs = [];
for($i=0; $i<db_rowcount();$i++){
//loop through every result set
$projID=db_get($i,0);
$projNo=db_get($i,1);
$projDesc=db_get($i,2);
$projSDE_1=db_get($i,8);//1st Services Development Engineer
array_push($projSDE_1_IDs, $projSDE_1) // Store all `$projSDE_1` in an array
}//endfor
$projSDE_1_names = func_GetEmpName($projSDE_1_IDs); // Pass the IDs' array to the function
function func_GetEmpName($empIDs) {
$names = [];
foreach($empIDs as $empId){
$sqlEmp="select EmpID,LastName2_c from empbasic WHERE EmpID= '".$empID."'";
db_select($sqlEmp);
$rowcount=db_rowcount();
if(db_rowcount()>0){
for($f=0;$f<count($empID);$f++){
$empID=db_get($f,0);
$empName=db_get($f,1);
array_push($names, $empName)
}
}
}
return $names;
} // function
var_dump($projSDE_1_names) // Display the array to see if you get all the correct data
对于函数中的 foreach 部分不太确定,但是如果它不起作用,你自己修改一些小东西,你应该能够做你想做的事。我认为逻辑就在这里。
推荐阅读
- node.js - 使用 expressjs 转换 Base64 图像
- azure-devops - 即使结果相同,Azure 控制条件也不起作用
- django - 无法在我的 django 项目中注销,它没有正确重定向
- angular - 将组件数据共享到 Angular Material 对话框
- python - 既不是正则表达式,也不是fuzzywuzzy也不是tre的模糊匹配的Python3.6包?
- android - 如何使 PendingIntent 触发我的 GeofenceBroadcastReceirver?
- bluetooth-lowenergy - 蓝牙模式 1 4 级安全问题
- search - MarkLogic - 启用词干提取也将搜索美式/英式拼写
- python-3.x - Python中如何使用线程调用http API
- ios - Swift 视频反向寻找时间