Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带删除链接的drupal表_Drupal - Fatal编程技术网

带删除链接的drupal表

带删除链接的drupal表,drupal,Drupal,我需要为每个记录创建一个带有delete链接的drupal表。我有一个带有编辑链接的现有表。他们使用hook_菜单传递记录的id并重定向到联系人表单。如何扩展此功能以添加编辑。代码是 function _MYMODULE_sql_to_table($sql) { $html = ""; // execute sql $resource = db_query($sql); // fetch database results in an array $resul

我需要为每个记录创建一个带有delete链接的drupal表。我有一个带有编辑链接的现有表。他们使用hook_菜单传递记录的id并重定向到联系人表单。如何扩展此功能以添加编辑。代码是

function _MYMODULE_sql_to_table($sql) { 
  $html = "";    
  // execute sql
  $resource = db_query($sql);    
  // fetch database results in an array
  $results = array();
  while ($row = db_fetch_array($resource)) {
     $results[] = $row;
      $id = $row['id'];
      $email = $row['email'];
      $comment = $row['comment'];
 //     drupal_set_message('Email: '.$email. ' comment: '.$comment. ' id: '.$id);
  }
  // ensure results exist
  if (!count($results)) {
    $html .= "Sorry, no results could be found.";
    return $html;    
  }

  // create an array to contain all table rows
  $rows = array();
  // get a list of column headers
  $columnNames = array_keys($results[0]);

  // loop through results and create table rows
  foreach ($results as $key => $data) {
    // create row data
    $row = array(

        'edit' => l(t('Edit'),"admin/content/test/".$data['id']."/ContactUs", $options=array()),
        'delete' => l(t('Delete'),"admin/content/".$data['id']."/ContactUs",$options = array()),
        );

    // loop through column names
    foreach ($columnNames as $c) {
      $row[] = array(
        'data' => $data[$c],
        'class' => strtolower(str_replace(' ', '-', $c)),
      );
    }

    // add row to rows array
    $rows[] = $row;

  }

  // loop through column names and create headers
  $header = array();
  foreach ($columnNames as $c) {
    $header[] = array(
      'data' => $c,
      'class' => strtolower(str_replace(' ', '-', $c)),
    );
  }

  // generate table html
  $html .= theme('table', $header, $rows);

  return $html;

}

// then you can call it in your code...
function _MYMODULE_some_page_callback() {

  $html = "";

  $sql = "select * from {contact3}";

  $html .= _MYMODULE_sql_to_table($sql);

  return $html;
}

我假设您已经有了一个表单来创建数据(不管它是什么)。然后,您可以扩展该表单以选择性地接收id,如果有,则加载相应的数据,添加一个隐藏的(#type value)表单元素,该元素包含id和相关的#default#u值条目到表单中。然后,您必须在提交回调中确定是否有新条目(没有id)或现有条目,并相应地采取行动

PS:我想你不使用节点系统是有原因的,那么这已经存在了

PPS:你的代码完全不可读,你应该重新格式化