#php #mysql #editablegrid
#php #mysql #редактируемая сетка
Вопрос:
Пытаюсь создать цикл для кода 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,
Комментарии:
1. Спасибо @DimaSan за редактирование этого вопроса.
2.
$grid->addColumn('id, 'ID', 'integer');
отсутствует апостроф
Ответ №1:
Хорошо, думаю, я нашел решение. Чтобы создать цикл, мы создаем 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;