如何使 Drupal 7 可编辑字段在表中仅供管理员使用

2022-01-23 00:00:00 arrays php mysql drupal drupal-7

 $header = array(
    array('data' => t('S No'), 'field' => 't.id'),
    array('data' => t('Country Name'), 'field' => 't.country_name'),
    array('data' => t('Status'), 'field' => 't.status'),
    array('data' => t('Added Date'), 'field' => 't.added_date'),
    array('data' => t('Action'), 'field' => 't.id',),
    array('data' => t('Action'), '',),
  );



$limit = 10; 
  $query = db_select('countries', 't')->extend('TableSort')->extend('PagerDefault')->limit($limit)->orderby('country_name', ASC);
  //condition();
  $query->fields('t');
  //$edit=echo '<i class="fa fa-pencil-square-o"></i>';
  //$edit=echo '<i class="fa fa-pencil-square-o"></i>';
  // Don't forget to tell the query object how to find the header information.
  $result = $query
      ->orderByHeader($header)
      ->execute(); 

  $rows = array();
   $i=1;

  foreach ($result as $row) {

    $rows[] = array(
    $i,
    //($x === 2) ? 0 : $x+1,
    //$row->id,
    $row->country_name,
    //$row->status,
    //$row->status,
    $status = ($row->status == 0) ? 'Inactive' : 'Active',
    date('d-m-Y H:i:s', strtotime($row->added_date)),
    l('Edit', 'mypages/countries/'. $row->id), 
    l('Delete', 'mypages/delete/'. $row->country_name)

    );
//print_r($status);
    $i++;
  }

In this data where i am getting data from database and displaying it ..Now i want display the status as dynamic like admin can modify the status if he requires..

$status = ($row->status == 0) ? 'Inactive' : 'Active',

Where he can make active or inactive

if we can give active or inactive in drop down its better ..where admin can select the status..after that automatically update to selected status... and I am displaying S no as numbering which is ..the numbers working in first page like numbering auto increment where numbering to second page ..the numbering system is starting from the initial again...

What is the solutions for above

解决方案

You may have to create another header item to perform the activation/deactivation action, By checking the user_access. In the rows you can add links to whether activate/deactivate depending on the current status. You can redirect to the edit page on clicking the activate or deactivate links by passing query parameters, status and update the status.

相关文章