我试图从数据库Bruel_ID获取列mpctz_rsform_bruels的所有值(数值),以便将它们显示在RSForm下拉框中。我用的是这个代码:
$db = JFactory::getDbo();
$db->setQuery("SELECT Bruel_ID FROM mpctz_rsform_bruels");
return $db->loadResult();然而,我只是在提取列的最低值。我怎样才能得到所有的价值?谢谢,
丹尼
编辑:我一直在搜索,我找到了这段代码,它应该能正常工作:
//<code>
// Prepare the empty array
$items = array();
// Prepare the database connection
$db = JFactory::getDbo();
// Keep this if you'd like a "Please select" option, otherwise comment or remove it
$items[] = "|Selecciona un número[c]";
// Run the SQL query and store it in $results
$db->setQuery("SELECT Bruel_ID, Bruel_ID FROM #__rsform_bruels");
$results = $db->loadObjectList();
// Now, we need to convert the results into a readable RSForm! Pro format.
// The Items field will accept values in this format:
// value-to-be-stored|value-to-be-shown
// Eg. m|M-sized T-shirt
foreach ($results as $result) {
$value = $result->your_value;
$label = $result->your_label;
$items[] = $value.'|'.$label;
}
// Multiple values are separated by new lines, so we need to do this now
$items = implode("\n", $items);
// Now we need to return the value to the field
return $items;
//</code>但是,它在下拉框中没有显示任何内容,只显示默认值。有什么帮助吗?
发布于 2014-09-30 10:02:38
可以使用loadColumn()在单个列中获取所有结果的数组。下面只显示了这一点和一个foreach循环,以便在新行上显示每个结果:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('Bruel_ID'))
->from($db->quoteName('#__rsform_bruels'))
->order($db->quoteName('Bruel_ID') . 'DESC');
$db->setQuery($query);
$results = $db->loadColumn();
$items[] = "|Selecciona un número[c]";
foreach ($results as $id) {
$items[] = $id.'|'.$id;
}
$items = implode("\n", $items);
return $items;这对数据库查询使用了最新的Joomla编码标准。
还请注意,我已经将mpctz_替换为#__,这是一个内置于Joomla的特性,它将自动获得表前缀。它使您不必手动定义它,这与将来一样糟糕,您可能决定更改前缀。
希望这能有所帮助
https://stackoverflow.com/questions/26103773
复制相似问题