راکت

عدم ارسال مقدار چک باکس مورد نظر در php با ajax

بدون پاسخ

سلام وقت بخیر دوستان . من یک جدول دارم همونطور که در عکس هم مشخص هست میخوام وقتی روی مثلا گزینه "مدیرکل" کلیک شد مقدارش که مربوط به شخص مورد نظر مثلا ردیف "1" ارسال بشه ولی در صورتی که تمام گزینه هایی که چک باکس انها تیک خورده همه ارسال میشوند.
دوستان مشکل بنظرتون کجاست؟
 تصویر

کدهای مربوط به html و ajax :

<?php foreach ($records as $record){ ?>
                <tr>
                    <td><?= $i++ ?></td>    
                    <td><?= $record['namefamily']?></td>                   
                    <td><?php getAccessName($record); ?></td>

                <input type="hidden" name="accessUser" value="<?=$record['id']?>">
                    <td>
                    <lable style="display: inline-flex;"><input onclick="setAccess(this, <?=$record['id']?>)" name="superadmin"  class="getAccessUser"  value="superadmin"  style="margin-left: 3px;"   type="checkbox"  <?php if(str_contains($record['access'] , '|superadmin|')){ echo 'checked'; } ?> >مدیرکل</lable>&nbsp;
                    <lable style="display: inline-flex;"><input onclick="setAccess(this, <?=$record['id']?>)" name="admin" class="getAccessUser"  value="admin"  style="margin-left: 3px;"  type="checkbox"  <?php if(str_contains($record['access'] , '|admin|')){ echo 'checked'; } ?> >مدیر</lable>&nbsp;
                    <lable style="display: inline-flex;"><input onclick="setAccess(this, <?=$record['id']?>)" name="owner" class="getAccessUser"  value="owner" style="margin-left: 3px;"   type="checkbox"  <?php if(str_contains($record['access'] , '|owner|')){ echo 'checked'; } ?> >مالک</lable>&nbsp;        
                   </td>  
                </tr>
                 <?php } ?>

            </tbody>
        </table>
    </div>
</div>
<div>
    <button class="btn btn-primary" name="sendAccess"  type="button" id="accessid" style="margin-right: 10px;">ثبت تغییرات</button>
</div>

<script>
   function setAccess(sender , id){
       sender = $(sender);
//       alert (sender);
//       console.log(sender);
       var access = [];

       $('.getAccessUser').each(function(){
           if($(this).is(":checked")){
               access.push($(this).val());
//                 access = sender.push($(this).val());

           } 
        });
        access = access.toString();
        $.ajax('<?= baseUrl() ?>/admin/accessUpdate/' + id , {
           type: 'post',
           data:{access:access},
           success: function(data){
//               alert('ok1111');
console.log('okey');
           }
        });
   }
</script>    

کدهای مربوط به php:

public function accessUpdate($id){ 

      if(!isset($_SESSION['mobile'])){
            header('Location:' . baseUrl() . '/user/login');
            exit();
        }

         if(!grantSuperAdmin()){
            exit();
        }

        if(isset($_POST['access'])){
            $setAccess = $_POST['access'];
            echo $setAccess;
            AdminModel::set_access($id,$setAccess);
        }  
//        echo json_encode(array('status'=>true));
//        header('Location: '.baseUrl().'/admin/fetchAccessUser');
    }

کد مربوط به دیتابیس :

 public static function set_access($idAccess,$setAccess){
       $db = Db::getInstance();
       $db->modify("UPDATE `x_users` SET `access` =:access WHERE `id` =:id " , array(
           'id' => $idAccess,
           'access' =>$setAccess,

       ));
   }
hosien
hosien
@h.samipur2010
ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام