Php 如何在joomla模块或后端中更新表?
我正在处理一些模块,希望能够使用图像大小更新表-表中已经有两列(宽度、高度)。这是我开发joomla模块的第一种方法。除了最后一个带有更新的foreach之外,所有代码都有效。我错在哪里 以及如何在模块或后端模块设置中触发此功能,使其成为按钮或链接?helper.php中的代码:Php 如何在joomla模块或后端中更新表?,php,mysql,joomla,module,Php,Mysql,Joomla,Module,我正在处理一些模块,希望能够使用图像大小更新表-表中已经有两列(宽度、高度)。这是我开发joomla模块的第一种方法。除了最后一个带有更新的foreach之外,所有代码都有效。我错在哪里 以及如何在模块或后端模块设置中触发此功能,使其成为按钮或链接?helper.php中的代码: public static function updateSize( $params ) { $app = JFactory::getApplication(); $do
public static function updateSize( $params )
{
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
JHtml::_('behavior.framework', true);
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName(array('a.imgfilename', 'b.catpath')))
->from($db->quoteName('#__imagestable', 'a'))
->where(($db->quoteName('height').'=') && ($db->quoteName('width').'='))
->join('INNER', $db->quoteName('#__imagestable_cat', 'b') . ' ON (' . $db->quoteName('a.catid') . ' = ' . $db->quoteName('b.cid') . ')')
->order('RAND() LIMIT 5');
$db->setQuery($query);
$size = $db->loadObjectList();
return $size;
foreach($size as $imageSize){
$imgpath = $path.$imageSize->catpath.'/'.$imageSize->imgfilename;
$imgfilename = $imageSize->imgfilename;
list($width, $height) = getimagesize($imgpath);
$validImgs[] = $imageSize;
foreach ( $validImgs as $row ) {
$query = $db->getQuery(true)
->update($db->quoteName('#__imagestable'))
->where ($db->quoteName('imgfilename').'='.$imgfilename)
->set(array($db->quoteName('height') . '=' . $height, $db->quoteName('width') . '=' .$width));
$db->setQuery($query);
$imgSize = $db->execute();
}
}
}
是否可以将此函数附加到后端XML—可能是“更新图像大小”按钮?您使用的是
return$size代码>在foreach
之前