Jquery 显示给定数据库名称中的所有表名称

Jquery 显示给定数据库名称中的所有表名称,jquery,drupal-forms,Jquery,Drupal Forms,我创建了一个定制模块,为用户提供了一个简单的界面来收集有关新数据库的数据:数据库名、用户名、密码。。。然后(在提交了引入的值之后)将drupal站点连接到给定的数据库。之后,我如何转到另一个包含列表或包含所有现有数据表的表的页面 <?php function testform_menu() { $items = array(); $items['test'] = array( 'title' => 'connect an external database', 'pa

我创建了一个定制模块,为用户提供了一个简单的界面来收集有关新数据库的数据:数据库名、用户名、密码。。。然后(在提交了引入的值之后)将drupal站点连接到给定的数据库。之后,我如何转到另一个包含列表或包含所有现有数据表的表的页面

 <?php 
 function testform_menu() {
 $items = array();

 $items['test'] = array(
 'title' => 'connect an external database',
 'page callback' => 'drupal_get_form',
 'page arguments' => array('testform'),
 'access callback' => TRUE,
 'type' => MENU_NORMAL_ITEM,
 );

 return $items;
 }

 function testform($form, &$form_state) {
 $form = array();
 $form['data'] = array(
 '#type' => 'fieldset',
 '#title' => t('Database parameters'),
  );
  $form['data']['databasename'] = array(
  '#type' => 'textfield',
  '#title' => t('enter the database name'),
  '#description' => t('a user interface to switch between databases'),
  '#size' => 28,
  '#required' => TRUE,

  );
   $form['data']['username'] = array(
   '#type' => 'textfield',
   '#title' => t('enter the data basebase user name'),
   '#description' => t('a user interface to switch between databases'),
   '#size' => 28,
   '#required' => TRUE,

   );
   $form['data']['userpass'] = array(
  '#type' => 'textfield',
  '#title' => t('enter the database password'),
  '#description' => t('a user interface to switch between databases'),
  '#size' => 28,
  '#required' => TRUE,

  );
  $form['data']['host'] = array(
  '#type' => 'textfield',
  '#title' => t('enter the database host name'),
  '#description' => t('a user interface to switch between databases'),
  '#size' => 28,
  '#required' => TRUE,

  );
   $form['data']['port'] = array(
  '#type' => 'textfield',
  '#title' => t('enter the database port name'),
  '#description' => t('a user interface to switch between databases'),
  '#size' => 28,
  '#required' => TRUE,

  );
   $form['data']['databasedriver'] = array(
  '#type' => 'textfield',
  '#title' => t('enter the database driver name'),
  '#description' => t('a user interface to switch between databases'),
  '#size' => 28,
  '#required' => TRUE,

  );

 $form['submit'] = array(
 '#type' => 'submit',
 '#value' => t('Submit'),
  );


  return $form;
}



 function testform_submit($form, &$form_state) {

 $database_name =$form_state['values']['databasename'];
 $user_name =$form_state['values']['username'];
 $user_pass =$form_state['values']['userpass'];
 $host =$form_state['values']['host'];
 $port =$form_state['values']['port'];
 $database_driver =$form_state['values']['databasedriver'];

 $db_array = array();
 $db_array['database'] = $database_name;
 $db_array['username'] = $user_name;
 $db_array['password'] = $user_pass; 
 $db_array['host'] = $host; //localhost
 $db_array['port'] = $port; //localhost
 $db_array['driver'] = $database_driver; //mysql

 try {
  Database::addConnectionInfo('OurDatabase', 'default', $db_array);

      db_set_active('OurDatabase'); 
  // Now actually do a check.
  $db1 = Database::getConnection();
      drupal_set_message('Database'.' ' .$database_name.' '. 'is now connected' );
   }
  catch (Exception $e) {    
    drupal_set_message(t('Failed to connect to your database server. The server reports the following message:
        %error.<ul><li>Is the database server running?</li><li>Does the database exist, and have you entered 
        the correct database name?</li><li>Have you entered the correct username and password?</li><li>Have you entered 
    the correct database hostname?</li></ul>', array('%error' => $e->getMessage())),'warning');
db_set_active();

 }

   db_set_active();

}

假设您连接到一个MySql数据库,只需使用

$result = Database::getConnection()->query("SHOW TABLES");
然后迭代,就像

while ($table = $result->fetchAssoc())
    // Output here whatever you like
}

是的,这就是我要查找的,但为什么它会显示错误:致命错误:调用未定义的函数db_fetch_array(),好的,您可以在这里使用另一个函数,这只是获取每个结果行的数组。我没有用你的lib。while($table=$result->fetchAssoc())工作吗?您只需要迭代结果。它从当前迭代指针指向的行中获取一个关联数组(可以用于字符串而不是数字)。我在($table=$result->fetchAssoc())drupal_set_message($table);}只是为了查看数据表的名称,但它不起作用