سلام وقت بخیر دوستان . من یک جدول دارم همونطور که در عکس هم مشخص هست میخوام وقتی روی مثلا گزینه "مدیرکل" کلیک شد مقدارش که مربوط به شخص مورد نظر مثلا ردیف "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>
<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>
<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>
</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 کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟