Totalnumber.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace app\admin\controller\customcharts;
  3. use app\common\controller\Backend;
  4. use think\Config;
  5. use think\Db;
  6. /**
  7. * 总数统计管理
  8. *
  9. * @icon fa fa-circle-o
  10. */
  11. class Totalnumber extends Backend
  12. {
  13. protected $noNeedRight = ['get_field_list'];
  14. /**
  15. * Totalnumber模型对象
  16. * @var \app\admin\model\customcharts\Totalnumber
  17. */
  18. protected $model = null;
  19. public function _initialize()
  20. {
  21. parent::_initialize();
  22. $this->model = new \app\admin\model\customcharts\Totalnumber;
  23. $this->view->assign("typeTotalList", $this->model->getTypeTotalList());
  24. $this->view->assign("typeTimeList", $this->model->getTypeTimeList());
  25. $dbname = Config::get('database.database');
  26. $list = \think\Db::query(
  27. "SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=?",
  28. [$dbname]
  29. );
  30. $this->view->assign("tableList", $list);
  31. }
  32. /**
  33. * 获取字段列表
  34. * @internal
  35. */
  36. public function get_field_list()
  37. {
  38. $dbname = Config::get('database.database');
  39. $prefix = Config::get('database.prefix');
  40. $table = $this->request->request('table');
  41. //从数据库中获取表字段信息
  42. $sql = "SELECT * FROM `information_schema`.`columns` "
  43. . "WHERE TABLE_SCHEMA = ? AND table_name = ? "
  44. . "ORDER BY ORDINAL_POSITION";
  45. //加载主表的列
  46. $columnList = Db::query($sql, [$dbname, $table]);
  47. $fieldlist = [];
  48. $commentlist = [];
  49. $typelist = [];
  50. foreach ($columnList as $index => $item) {
  51. $fieldlist[] = $item['COLUMN_NAME'];
  52. $commentlist[] = $item['COLUMN_COMMENT'];
  53. $typelist[$item['COLUMN_NAME']] = $item['DATA_TYPE'];
  54. }
  55. $this->success("", null, ['fieldlist' => $fieldlist, 'commentlist' => $commentlist, 'typelist' => $typelist]);
  56. }
  57. }