Php 从数据库中获取复选框值并显示在表单中,然后在prestashop中提交
我想从数据库中获取复选框值并显示在表单中,当单击submit时,新值应在Prestashop中更新 我已经对获取的数据库值执行了Php 从数据库中获取复选框值并显示在表单中,然后在prestashop中提交,php,prestashop,Php,Prestashop,我想从数据库中获取复选框值并显示在表单中,当单击submit时,新值应在Prestashop中更新 我已经对获取的数据库值执行了foreach,但只显示了一个值 我的代码是: protected function getConfigForm() { $sql = 'SELECT id_order_state,name FROM '._DB_PREFIX_.'order_state_lang'; $results = Db::getInstance()->
foreach
,但只显示了一个值
我的代码是:
protected function getConfigForm()
{
$sql = 'SELECT id_order_state,name FROM '._DB_PREFIX_.'order_state_lang';
$results = Db::getInstance()->ExecuteS($sql);
foreach ($results as $row) {
return array(
'form' => array(
'legend' => array(
'title' => $this->l('Settings'),
'icon' => 'icon-cogs',
),
'input' => array(
array(
'type' => 'checkbox',
'label' => $this->l('Select Required Status'),
'required' => true,
'values' => array(
'query' => array(
array(
'id' => 'AllFields',
'name' => $this->l('All Fields'),
'val' => 'All',
),
array(
'id' => 'OrderID',
'name' => $this->l($row['name']),
'val' => $row['id_order_state'],
'required' => true,
),
),
'id' => 'id',
'name' => 'name'
),
),
),
// array(
// 'type' => 'text',
// 'name' => 'EXPORTORDERS_LOCATION',
// 'label' => $this->l('Export Location'),
// ),
'submit' => array(
'title' => $this->l('Save'),
),
),
);
}
}
您将从
foreach
循环中的方法返回。然后返回一个值。您应该首先在foreach
循环中构建一个值数组,然后构建表单:
protected function getConfigForm()
{
$sql = 'SELECT id_order_state,name FROM '._DB_PREFIX_.'order_state_lang';
$results = Db::getInstance()->ExecuteS($sql);
$values_query = array(array(
'id' => 'AllFields',
'name' => $this->l('All Fields'),
'val' => 'All',
));
foreach ($results as $row) {
$values_query[] = array(
'id' => 'OrderID',
'name' => $this->l($row['name']),
'val' => $row['id_order_state'],
'required' => true,
);
}
return array(
'form' => array(
'legend' => array(
'title' => $this->l('Settings'),
'icon' => 'icon-cogs',
),
'input' => array(
array(
'type' => 'checkbox',
'label' => $this->l('Select Required Status'),
'required' => true,
'values' => array(
'query' => $values_query,
'id' => 'id',
'name' => 'name'
),
),
),
'submit' => array(
'title' => $this->l('Save'),
),
),
);
}
是否查询返回多行。。?如果是这样,则在循环的第一次迭代中返回。如果没有,为什么需要循环?因为在我的数据库中存储了许多状态,我想将配置页面中的所有状态显示为复选框,因此我使用foreach在该页面中显示所有状态,但只有一个显示。我想说的是,您只处理结果的第一行,因为您在
foreach
循环中执行返回。那么我该怎么办?我是新来的普雷斯塔索普我想显示所有的价值观。你能帮我吗?你是对的,所有的都是正确的,但是我想要三到四层,因为列表太大了。垂直向下的列表太长,有没有办法将其分成4层?单击所有字段时如何使所有字段都选中?你能为这个和上面的问题提供一个解决方案吗?我认为这是一个不同的话题。您能为这个特定的前端需求提出一个新问题吗?如果这个答案解决了你最初的问题,你会接受吗#Florian Lematire是的,我提出了一个新问题。你能看一下吗?""