EditableGrid, & quot; addcolumn & quot; петля

Попытка сделать цикл для кода EditableGrid.
Вот так это выглядит сейчас.

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

Поэтому, если мне нужно добавить новый столбец на страницу, я добавлю новый столбец в базу данных MySQL, а также добавлю новую строку в этот код, например:

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

Чтобы автоматически добавлять новые столбцы на страницу, я хочу сделать цикл, который получает входные данные для первого аргумента (имя поля в базе данных), взятого из таблицы:

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

и два других аргумента (метка, которая будет отображаться в заголовке и тип данных столбца в MySQL) взяты из этой таблицы:

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

2

Решение

Хорошо, думаю, я нашел решение. Чтобы создать цикл, мы создаем 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;
0

Другие решения

Других решений пока нет …