0

ページに 8500 人の従業員が<tr>との形式でテーブル データに表示されています<td>。各従業員の名前の前にチェックボックスが表示されている従業員の名前。チェックボックスをクリックすると、従業員データ (従業員名と従業員 ID) セッションが挿入されます。

すべてが正常に機能していますが、問題は、すべてのチェックボックスをクリックすると、すべての従業員のチェックボックスが選択され、「選択済みを表示」という名前のボタンが表示されることです。このボタンをクリックすると、選択したすべての従業員が対象になります。ユーザーがこのボタンをクリックすると、新しい子ウィンドウが開き、フォーム テーブルの行とデータで選択された従業員データが表示されます。

私はこれを行っていますが、従業員のチェックボックスをクリックして作成したセッションを使用しています。

すべてが Mozilla Firefox で動作していますが、Google Chrome でこれをチェックすると動作せず、ブラウザ メッセージ KillPages または Wait が表示されます。Chrome のローダー イメージが表示されますが、データが読み込まれません。

私の新しい子ウィンドウ ページ コードは、セッションを読み取り、for-each ループを実行してデータをテーブル データの形式で出力する場所です。

    <?php require_once("../../includes/global.php");
    $sessionName = rq('sessionName');
    $employees = $session->read($sessionName);
    ?>
    <script type="text/javascript" src="<?php echo SITEURL_PAGE; ?  
  >configuration/js/attendancePolicy.js"></script>

    <div style="width: 100%;">
  <?php if(strpos($sessionName, 'location') !== false) {?>
  <h3 style="padding-left:10px;">View <?php echo LOCATION_DISPLAY_NAME?>s</h3>
  <?php } else {?>
  <h3 style="padding-left:10px;">View <?php echo  
  us(substr(str_replace('ot_','',$sessionName), 0, -3))?></h3>
  <?php }?>
  <?php         
         $totalEmployees = $session->check($sessionName) ? (int)count($session->read($sessionName)) : 0;        
        ?>
  <form id="updateEmployeesForm" name="updateEmployeesForm" method="post"   action="saveAttendancePolicy.php">
    <input type="hidden" name="hidAction" value="addNewPolicy_step3" />
    <input type="hidden" name="sessionName" id="sessionName" value="<?php echo $sessionName?>" />
    <?php 
$styleTab = '';
$style='';
if($totalEmployees > 30){
    $styleTab = 'border-bottom: none;';
    $style = 'overflow:auto; height: 230px !important; border-bottom: 4px solid #2C90D3;';
}
//for over time policy only
$functionSuffix = '';
if($sessionName == 'ot_locations_cb' || $sessionName == 'ot_divisions_cb' || $sessionName == 'ot_departments_cb' || $sessionName == 'ot_employees_cb') {
    $functionSuffix = 'overTimePolicy';
}

$where  = rq('where');
$employeeLoadPage = ($sessionName == 'ot_employees_cb')?'otpolicy_ajax':'';
if(stripos($sessionName, 'employee') > -1) {
    $js = "closeClildWindow('', 'employeeDiv', 'yes','".$employeeLoadPage."');";
} else if(stripos($sessionName, 'location') > -1) {
    $js = "searchPolicySpecificNew('', 'locations', 'locationDiv', {'session':'yes'},'".$functionSuffix."'); updateChildPolicyNew('".$sessionName."', 'yes','".$functionSuffix."');";
} else if(stripos($sessionName, 'division') > -1) {
    $js = "searchPolicySpecificNew('', 'divisions', 'divisionDiv', {'session':'yes'},'".$functionSuffix."'); updateChildDepartmentPolicyNew('".$sessionName."', 'locations_cb', 'yes','".$functionSuffix."');";
} else if(stripos($sessionName, 'department') > -1) {
    $js = "searchPolicySpecificNew('', 'departments', 'departmentDiv', {'session':'yes'},'".$functionSuffix."'); updateChildjobTitlePolicy('".$sessionName."', 'divisions_cb', 'locations_cb', '','".$functionSuffix."');";
}

if($where == 'viewEmp') {
    if($sessionName == 'ot_employees_cb') {
        $js="getSelectedEmployeesNew('OT');";
    } else {
        $js="getSelectedEmployeesNew();";
    }
}
?>
    <div class="totalRecord" style="float:right; width:99%;text-align:right; margin-top: 5px;">
      <label>Total Record(s) :<?php echo $totalEmployees ?></label>
    </div>
    <div style="margin: 0 2% 0 2%; width: 96%;" class="div_row">
      <table cellpadding="0" border="0" cellspacing="0" width="100%" class="bdrtable" style="border-bottom: 0px;">
        <thead>
          <tr>
            <th align="left" scope="col" colspan="5"> <input type="checkbox" name="viewCheckAllName" id="viewCheckAllName" <?php if($totalEmployees > 0) {?> checked="checked"<?php }?> class="class_parent_pop" onClick="sessionCheckBox('class_parent_pop', '<?php echo $sessionName?>_pop', 'parent', this);"   />
              Check All </th>
          </tr>
        </thead>
      </table>
    </div>
    <div style="margin-bottom: 2%; margin-left: 2%; margin-right: 2%; width:96%;<?php echo $style;?>" class="div_row">
      <table cellpadding="0" border="0" cellspacing="0" width="100%" class="bdrtable" style="<?php echo $styleTab?>">
        <?php if($totalEmployees > 0) { ?>
        <tr>
          <?php $i=1; 
                    foreach($employees as $key=>$employeeArr) {             
                ?>
          <td align="left" width="33%"><?php echo $i; ?> </td>
          <?php 
                        if($i%3 == 0 && $i != $totalEmployees) {
                            echo '</tr><tr>';
                        }
                    $i++; 
                    }           
                    if($totalEmployees%3 != 0) {                                
                        for ($x=($totalEmployees%3); $x < 3; $x++) {                                            
                            echo '<td align="left" width="33%">&nbsp;</td>';
                        }
                    }
                ?>
        </tr>
        <?php }else{ ?>
        <tr>
          <td colspan="3" align="center"><?php echo "No Data Found"; ?></td>
        </tr>
        <?php }?>
      </table>
    </div>
    <div class="clear"></div>
    <div class="div_row" style="text-align: right; width: 96%; margin:0 2%;">
      <?php if($totalEmployees > 0) {?>
      <input type="button" name="updateEmp" id="updateEmp" value="Update" class="submit" onClick="sessionCheckBoxPopupUpdate('<?php echo $sessionName?>_pop', '<?php echo $sessionName?>');<?php echo $js; ?>" />
      <?php } ?>
      <input type="button" name="cancel" id="cancel" value="Cancel" class="submit" onClick="javascript:window.close();" />
    </div>
  </form>

4

1 に答える 1