Я хочу получить флажки из базы данных и отобразить их в форме и при нажатии на отправке новые значения должны обновляться в Prestashop.Извлечь флажковые значения из базы данных и отобразить их в форме и отправить в prestashop
Я сделал 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'),
),
),
);
}
}
ли вы запрос вернуть более одной строки ..? Если это так, вы возвращаетесь во время первой итерации своего цикла. Если нет, зачем вам цикл? – BizzyBob
, потому что в моей базе данных сохранено много статусов, я хочу показать все статус на странице конфигурации как флажок, поэтому я использовал foreach для отображения всего на этой странице, но только один показывает –
. Я говорю, что вы только обрабатывая первую строку ваших результатов, потому что вы делаете 'return' внутри цикла foreach. – BizzyBob