EditableGrid, "addcolumn" 循环

EditableGrid, "addcolumn" loop

正在尝试为 EditableGrid 代码创建一个循环。 这是现在的样子。

$grid->addColumn('id', 'ID', 'integer');
$grid->addColumn('site', 'Site', 'string');

因此,如果我需要向页面添加新列,我会在 MySQL 数据库中添加一个新列,并在此代码中添加一个新行,例如:

$grid->addColumn('newcolumn', 'A brand new column', 'string');

为了自动向页面添加新列,我想创建一个循环,从 table:[=15 获取第一个参数(数据库中字段的名称)的输入=]

CREATE TABLE price (
  id   INT(11)     NOT NULL AUTO_INCREMENT,
  site VARCHAR(50) NOT NULL,

和其他两个参数(将显示在 header 中的标签和 MySQL 中列的数据类型)取自此 table:

CREATE TABLE header (
  header_name VARCHAR(50) NOT NULL,
  header_type VARCHAR(50) NOT NULL,

好的,我想我找到了解决方案。为了创建循环,我们创建了 2 个查询,它们是:

$get=$mysqli->query('SELECT header_name, header_type FROM header');
$get1=$mysqli->query('SHOW COLUMNS FROM price');

然后我们做一个循环

while($row = mysqli_fetch_assoc($get) and $row1 = mysqli_fetch_assoc($get1)){
$grid->addColumn(''.$row1['Field'].'', ''.$row['header_name'].'', ''.$row['header_type'].'');}

我猜,就是这样。另外,如果您需要排除某些列,请使用这段代码:

if($row1 == 'id' || $row1 == 'site')
    continue;