Как сделать l oop через все записи в jquery с датой в php - PullRequest
1 голос
/ 09 января 2020

У меня есть JQUERY datatable на моей странице PHP, на которой у меня есть один флажок, я хочу получить значения всех флажков, отмеченных в этом датабельном коде php, используя

implode(',',$_POST['accessflag']);

Но он показывает значения только на текущей странице. Я хочу получить значения всех отмеченных флажков в таблице данных со всех страниц этой конкретной таблицы. Кто-нибудь, пожалуйста, помогите мне сделать это. мой HTML код

<div class="row control-container pt-2">
  <div class="table-responsive col-md-12">
    <div class="row">
      <div class="col-md-12" style="text-align:center">
        <label style="color:red">
          <?php if (isset($_SESSION['SaveMsg'])) { echo $_SESSION['$SaveMsg'];unset($_SESSION['$SaveMsg']);}?>
        </label>
      </div>
    </div>
    <table id="moduletable" class="table table-sm table-bordered table-hover table-lightfont display">
      <thead class="thead-light">
        <tr>
          <th><?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","GRP_DESC"); ?></th>
          <th><?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","MODULE_NAME"); ?></th>
          <th><?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","GMA_ACCESS_FLAG"); ?></th>
          <th><?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","OPTIONS"); ?></th>
        </tr>
      </thead>
      <tbody>
        <?php
        if(isset($_SESSION['$nextset'])){
          $limit=$_SESSION['$nextset'];}
          else{$limit=0;}

          if ($_SESSION['$language']="E") {
            $groupdata=SelectData("group_module_access,user_group,modules","gma_id,gma_grp_id,grp_desc,gma_module_id,module_name,gma_access_flag","gma_grp_id=grp_id and gma_module_id=module_id","gma_grp_id,gma_id LIMIT ".$limit.",50");
          }
          else {
            $groupdata=SelectData("group_module_access,user_group,modules","gma_id,gma_grp_id,grp_bldesc as grp_desc,gma_module_id,module_blname as module_name,gma_access_flag","gma_grp_id=grp_id and gma_module_id=module_id","gma_grp_id,gma_id LIMIT ".$limit.",50");
          }
          foreach ($groupdata as $groupdatalist) {?>
            <tr>
              <td><?php echo $groupdatalist["grp_desc"];?></td>
              <td><?php echo $groupdatalist["module_name"];?></td>
              <?php if($groupdatalist["gma_access_flag"]=="N"):?>
                <td style="text-align:right;width:10px;"><input type="checkbox" name="accessflag[]" id="accessflag"
                  value="<?php echo "{$groupdatalist['gma_id']}"?>"/> </td>
                <?php else:?>
                  <td style="text-align:right;width:10px;"><input type="checkbox" checked name="accessflag[]" id="accessflag" width="10px"
                    value="<?php echo "{$groupdatalist['gma_id']}"?>"/> </td>
                  <?php endif;?>
                  <!--<td style="display:none;"><//?php echo $groupdatalist["gma_grp_id"];?></td>
                  <td style="display:none;"><//?php echo $groupdatalist["gma_module_id"];?></td>
                  <td style="display:none;"><input type="text" name="gmaid" id="gmaid" value="<//?php echo $groupdatalist["gma_id"];?>"></td>-->
                  <td>
                    <?php if($groupdatalist["gma_access_flag"]=="N"):?>
                      <a href="#" class="btn btn-light btn-sm pt-0 shadow-none"
                      data-toggle="tooltip" title="<?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","MENUPERMISSION");?>">
                      <i class="fa fa-pencil-square-o"></i>
                    </a>
                  <?php else:?>
                    <a href="group_action.php?gmagrpid=<?php echo $groupdatalist['gma_grp_id']?>&gmamoduleid=<?php echo $groupdatalist['gma_module_id']?>&page=MenuPermission&gmagrpdesc=<?php echo $groupdatalist['grp_desc']?>&gmamodulename=<?php echo $groupdatalist['module_name']?>" class="btn btn-light btn-sm pt-0 shadow-none"
                      data-toggle="tooltip" title="<?php echo GetBilingualLabels($_SESSION['$language'],"MODULEACCESS","MENUPERMISSION");?>">
                      <i class="fa fa-pencil-square-o"></i>
                    </a>
                  <?php endif;?>
                </td>
              </tr>
            <?php } ?>
          </tbody>
        </table>
        <div class="row">
          <div class="col-md-12 text-right">
            <button type="submit" name="updmodaccess" formnovalidate class="btn nc btn-primary btn-rounded"> 
              <i class="fa fa-save"></i>
              <?php echo GetBilingualLabels($_SESSION['$language'],"BUTTON","SAVE"); ?>
            </button>
          </div>
        </div>
      </div>
    </div>

PHP код на кнопке updmodaccess -

if (isset($_POST['updmodaccess'])) { 
       $keytoupdate=implode(',',$_POST['accessflag']); 
       $table="group_module_access"; $data=array("gma_access_flag"=>"Y", "gma_upd_dt"=>GetDateTime($_SESSION['$TimeZone']), "gma_upd_uid"=>"{$_SESSION['$userid']}");
       UpdateData($table,$data,"gma_id in (".$keytoupdate.")",$Message,$flg); 
       $data=array("gma_access_flag"=>"N", "gma_upd_dt"=>GetDateTime($_SESSION['$TimeZone']), "gma_upd_uid"=>"{$_SESSION['$userid']}"); 
       UpdateData($table,$data,"gma_id not in (".$keytoupdate.")",$Message,$flag); 

     }

1 Ответ

1 голос
/ 09 января 2020

вы можете попробовать следующий код. Я надеюсь, что это помогает. вам нужно получить эти значения, используя ajax, а затем отправить это значение в php, используя ajax.

$(document).ready(function(){
   var data = new Object();

    var table = $('#addUsersToAboTable').DataTable();

     $('#addUsersToAboTable').on('change', ':checkbox', function () {
       data[table.row($(this).parents('tr').get(0)).index()] = this.checked;
    });

   $('#getDataBtn').on('click',function(){
     console.log(data);
   });
});

Здесь вы также можете увидеть демонстрационный скрипт jQuery Datatables, Как получить все выбранные флажки со КАЖДОЙ страницы

...