حذف یک ردیف از foreach
سلام؛ یه سی آر ام دارم که بخش کارکنان رو با کد زیر دریافت میکنه و نشون میده:
foreach ($rResult as $aRow) { $row = array(); for ($i = 0; $i < count($aColumns); $i++) { if (strpos($aColumns[$i], 'as') !== false && !isset($aRow[$aColumns[$i]])) { $_data = $aRow[strafter($aColumns[$i], 'as ')]; } else { $_data = $aRow[$aColumns[$i]]; } if ($aColumns[$i] == 'last_login') { if ($_data != null) { $_data = time_ago($_data); } else { $_data = 'Never'; } } elseif ($aColumns[$i] == 'active') { $checked = ''; if ($aRow['active'] == 1) { $checked = 'checked'; } $_data = '<div class="onoffswitch"> <input type="checkbox" data-switch-url="'.admin_url().'staff/change_staff_status" name="onoffswitch" class="onoffswitch-checkbox" id="c_'.$aRow['staffid'].'" data-id="'.$aRow['staffid'].'" ' . $checked . '> <label class="onoffswitch-label" for="c_'.$aRow['staffid'].'"></label> </div>'; // For exporting $_data .= '<span class="hide">' . ($checked == 'checked' ? _l('is_active_export') : _l('is_not_active_export')) . '</span>'; } elseif ($aColumns[$i] == 'firstname') { $_data = '<a href="' . admin_url('staff/profile/' . $aRow['staffid']) . '">' . staff_profile_image($aRow['staffid'], array( 'staff-profile-image-small' )) . '</a>'; $_data .= ' <a href="' . admin_url('staff/member/' . $aRow['staffid']) . '">' . $aRow['firstname'] . ' ' . $aRow['lastname'] . '</a>'; } elseif ($aColumns[$i] == 'email') { $_data = '<a href="mailto:' . $_data . '">' . $_data . '</a>'; } else { if (strpos($aColumns[$i], 'date_picker_') !== false) { $_data = (strpos($_data, ' ') !== false ? _dt($_data) : _d($_data)); } } $row[] = $_data; } $options = icon_btn('staff/member/' . $aRow['staffid'], 'pencil-square-o'); if (has_permission('staff', '', 'delete') && $output['iTotalRecords'] > 1 && $aRow['staffid'] != get_staff_user_id()) { $options .= icon_btn('#', 'remove', 'btn-danger', array( 'onclick'=>'delete_staff_member('.$aRow['staffid'].'); return false;', )); } $row[] = $options; $output['aaData'][] = $row; }
کاربر Admin در این CRM با آی دی شماره 1 شناخته میشه؛
حالا من میخوام ادمین اصلی بعنوان backdoor باشه و بقیه ادمین ها اون رو نبینن؛
بطور واضح تر اینکه میخوام وقتی تمام کاربرها فراخوانی میشن، ردیف کاربر Admin با آی دی 1 برای کسی قابل مشاهده نباشه.
حالا توی این foreach چطوری میتونم بگم که ردیف این آی دی رو حذف کن؟
ممنون
1 پاسخ
راهی که به ذهن من میرسه اینه که یک property جدید مثلا isVisible یا isAdmin به object بدین و اگه اون 1 بود تو foreach نمایشش ندین.
یا اینکه کلا تو query قبل foreach یه جوری این کاربر رو نگیرید مثلا بگید isAdmin wtv باشه.
ساده ترین راه (شاید استاندارد نباشه ) اینه که تو query قبل foreach بگید از ID شماره 2 به بالا رو بگیره اینجوری حتی تغییر دیتابیس هم نمی خواد.