Prestashop 自定义模块,如何更新我的 sql 值?
Prestashop Custom Module, how to update my sql value?
我想为我的自定义模块更新我的 sql 值,但是由于这个值在一个单独的 sql table 中,我卡住了 ...
第一个值 MY_TOPBAR 已正确更新,因为她已在 ps_configuration table 中更新,但我的第二个值 MY_HTML_DATA 未更新在我的 table ps_mymodule.
中正确
这是我的 php 代码:
public function getContent()
{
// If we try to update the settings
$output = '';
if (Tools::isSubmit('submit'.$this->name))
{
Configuration::updateValue('MY_TOPBAR', Tools::getValue('MY_TOPBAR', ''));
Configuration::updateValue('MY_HTML_DATA', Tools::getValue('MY_HTML_DATA', ''));
Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules').'&configure='.$this->name.'&tab_module='.$this->tab.'&conf=4&module_name='.$this->name);
}
return $output.$this->displayForm();
}
如何正确更新我的 MY_HTML_DATA 值?
谢谢
#
我终于使用了@yenshirak 提供的方法,这是允许更新我的自定义 table 的最终代码,不会丢失任何 html 数据 =>
public function getContent()
{
// If we try to update the settings
$output = '';
if (Tools::isSubmit('submit'.$this->name))
{
Configuration::updateValue('MY_TOPBAR', Tools::getValue('MY_TOPBAR', ''));
$MY_HTML_DATA = pSQL( Tools::getValue('MY_HTML_DATA', ''), true );
$sql='UPDATE `'._DB_PREFIX_.'mymodule` SET `data` = "'.$MY_HTML_DATA.'" WHERE `option` =\'MY_HTML_DATA\';';
if(Db::getInstance()->Execute($sql))
Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules').'&configure='.$this->name.'&tab_module='.$this->tab.'&conf=4&module_name='.$this->name);
}
return $output.$this->displayForm();
}
您应该使用 Db
class 来更新您的自定义 table:
$sql = 'UPDATE ' . _DB_PREFIX_ . 'mymodule SET your_column_name = "' . pSQL(Tools::getValue('MY_HTML_DATA', '')) . '" WHERE id = your_id';
Db::getInstance()->execute($sql);
试一试:
$query = "UPDATE "._DB_PREFIX_."attribute SET color= '".$imagename."' WHERE id_attribute_group = '".$option_id."'";
Db::getInstance()->Execute($query);
我想为我的自定义模块更新我的 sql 值,但是由于这个值在一个单独的 sql table 中,我卡住了 ...
第一个值 MY_TOPBAR 已正确更新,因为她已在 ps_configuration table 中更新,但我的第二个值 MY_HTML_DATA 未更新在我的 table ps_mymodule.
中正确这是我的 php 代码:
public function getContent()
{
// If we try to update the settings
$output = '';
if (Tools::isSubmit('submit'.$this->name))
{
Configuration::updateValue('MY_TOPBAR', Tools::getValue('MY_TOPBAR', ''));
Configuration::updateValue('MY_HTML_DATA', Tools::getValue('MY_HTML_DATA', ''));
Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules').'&configure='.$this->name.'&tab_module='.$this->tab.'&conf=4&module_name='.$this->name);
}
return $output.$this->displayForm();
}
如何正确更新我的 MY_HTML_DATA 值?
谢谢
#我终于使用了@yenshirak 提供的方法,这是允许更新我的自定义 table 的最终代码,不会丢失任何 html 数据 =>
public function getContent()
{
// If we try to update the settings
$output = '';
if (Tools::isSubmit('submit'.$this->name))
{
Configuration::updateValue('MY_TOPBAR', Tools::getValue('MY_TOPBAR', ''));
$MY_HTML_DATA = pSQL( Tools::getValue('MY_HTML_DATA', ''), true );
$sql='UPDATE `'._DB_PREFIX_.'mymodule` SET `data` = "'.$MY_HTML_DATA.'" WHERE `option` =\'MY_HTML_DATA\';';
if(Db::getInstance()->Execute($sql))
Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules').'&configure='.$this->name.'&tab_module='.$this->tab.'&conf=4&module_name='.$this->name);
}
return $output.$this->displayForm();
}
您应该使用 Db
class 来更新您的自定义 table:
$sql = 'UPDATE ' . _DB_PREFIX_ . 'mymodule SET your_column_name = "' . pSQL(Tools::getValue('MY_HTML_DATA', '')) . '" WHERE id = your_id';
Db::getInstance()->execute($sql);
试一试:
$query = "UPDATE "._DB_PREFIX_."attribute SET color= '".$imagename."' WHERE id_attribute_group = '".$option_id."'";
Db::getInstance()->Execute($query);