このpendingsubmission関数を正しく機能させようとしています。それが機能すると想定される方法は、マネージャーが自分のアカウントにログインし、レビューするために保留中のタイムシートを持っている場合、保留中のタイムシートがあることをマネージャーに通知したいです。
これが私のコードですが、最初の結果(最初のタイムシート、提出された他のすべてのタイムシートのマネージャーを取得しません)に対してのみ機能しますが、混乱する場合はお詫び申し上げます。
function pendingsubmissions($loggedInUser) {
include("table_names.inc");
global $authenticationManager;
list($qh, $num) = dbQuery("SELECT uid FROM $TIMES_TABLE WHERE submitstatus=1 OR ot_status=1");
while ($data = dbResult($qh)) {
$username = $data['uid'];
list($qh2,$num2) = dbQuery("SELECT manager FROM $USER_TABLE WHERE username='$username'");
while ($data2 = dbResult($qh2)) {
$manager = $data2['manager'];
if ($loggedInUser == $manager || $authenticationManager->hasClearance(CLEARANCE_ADMINISTRATOR))
return 1;
else
return 0;
}
}
}
最初のクエリは、保留中のタイムシートをデータベースで確認することです(ステータス1を送信します)。見つかった場合は、2番目のクエリは、そのユーザーマネージャーを見つけ、そのユーザーマネージャーが現在ログインしている場合は、吐き出します。本当の価値。
問題は、現在のところ最初のクエリであり、次のように表示されます。
uid
---
user1
user1
user1
user2
user2
user2
2番目のクエリはuser1マネージャー名のみをチェックします。user2はチェックしません。誰かがこれを修正するのを手伝ってくれるので、すべてのユーザーのマネージャー名をチェックします。
ありがとう