所以基本上我有一个动态页面,显示属于用户的产品,如果有任何作业在他们的产品上运行,它将显示产品的状态。
我遇到的问题是,如果我在一个产品上激活了一个作业,它就会在页面上的所有产品上显示该作业。
我正在尝试为它找出一个解决方案,并认为我目前用来获取作业名称和产品ID的会话变量我可以改成数组,然后只在相关产品上应用作业状态。但是我无法让它发挥作用。这是我目前的代码。
PHP
foreach($_SESSION['vAppJobInfo'] as $jobInfo){
if($jobInfo['id'] == $vApp->get('id') ){
$curActiveJobName = $jobInfo['name'];
$curActiveJobvAppId = $jobInfo['id'];
}
}
处理页面上的PHP
$_SESSION['vAppJobInfo']['id'] = $_GET["id"];
if($_GET["action"]==="start"){
$job = new job();
$job->createStartVAppJob($clientId,$vCloudDirectorId,$vAppId);
$_SESSION['curMessage'] = $languageDB->berkGet("content_start_vApp_job_created");
$_SESSION['vAppJobInfo']['name'] = $languageDB->berkGet("content_start_vapp");
header('Location: /vAppManage.php?vdcId='.$vApp->get("orgVirtualDatacenterId"));
}
每当用户启动作业时,都会调用流程页面。
我确信我的逻辑是错的,或者我的方式是错误的。任何帮助表示赞赏。