mysql - Drupal中可以动态添加、编辑和删除数据的表格

标签 mysql drupal edit

我知道我们可以在Drupal中静态地添加编辑和删除表中的数据。但是,我们有什么方法可以通过单击每行附近的链接来添加编辑和删除数据,以便单击“添加”按钮时应生成一个新行,并且单击编辑时应突出显示该行的所有内容作为 fr 编辑并删除应该删除该行。我创建的基本表是这样的:

<?php
    $header = array('Emp ID', 'Emp Name', 'Emp Age');
    $rows = array();
    $sql = 'SELECT empid, name, age FROM {employee} ORDER BY name';
    $result = db_query($sql);
    while ($row = db_fetch_array($result)) {
         $rows[] = $row;
    }
    print theme('table', $header, $rows);  
?>

最佳答案

你可以构建它。您已经获得了读取模式,因此您需要创建/更新/删除...互联网上有一些有关基本 CRUD 模块的帮助。基本上,更新部分(首先有一个使用 % 通配符的菜单 Hook ,这就是 arg(1) 的内容:

function crud_module_edit_form() {
  $result = db_select('employee', 'e')
    ->fields('e', array('empid', 'name'))
    ->condition('empid', arg(1), '=')
    ->orderBy('name', 'DESC')
    ->execute()
    ->fetch();

$form['name'] = array(
    '#type' => 'textfield',
    '#title' => t('Name'),
    '#default_value' => isset($result->name) ? $result->name : '',
    '#required' => TRUE,
  );
return $form;

}

然后使用上面表单的提交函数来更新记录。您可以在此处使用 db_merge,然后将同一页面用于添加和更新功能。

function crud_app_edit_form_submit($form, &$form_state) {
  db_update('employees')
    ->fields(array(
      'name' => check_plain($form_state['values']['name']),
    ))
    ->condition('empid', arg(1), '=')
    ->execute();

  drupal_set_message(t('Employee updated'));
}

关于mysql - Drupal中可以动态添加、编辑和删除数据的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26695844/

相关文章:

php - mySQL更新排序-删除一个或多个后从具有无限子项的表中排序

php - 显示周围没有页面模板的 Drupal View

mysql - Drupal:许多字段/内容类型等于*许多*表,并且在一点之后使 MySQL 非常慢

android隐式 Intent 编辑无法加载图像

Javascript 通过输入更改纯文本

mysql - 按数字顺序排列字符串

mysql - 基于stamp mySQL删除旧数据

MySQL - 行到列

drupal_get_form 页面回调用法

c# - 有没有办法检查 Ektron 是否在我的代码隐藏中以编辑模式加载页面? (C#)