【发布时间】:2013-11-05 12:13:20
【问题描述】:
您好,我需要在表单 (RSForm joomla 2.5) 中创建一个下拉列表字段,该字段将从deremmart 类别名称中提取其值。 我有这段代码需要根据我的需要进行自定义,但是由于我不知道 php,所以我所有的即兴创作都以致命错误告终,需要再次重新安装表单:(
我在mysql中的表名是xxx_virtuemart_categories_he_il
这里列出了类别名称category_names
他们的身份证在这里virtuemart_category_id
这是代码块,我该如何更改它?
//<code>
// Prepare the empty array
$items = array();
// Prepare the database connection
$db = JFactory::getDbo();
// Run the SQL query and store it in $results
$db->setQuery("SELECT your_value, your_label FROM #__your_table");
$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
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>
【问题讨论】:
-
$db->setQuery("SELECT your_value, your_label FROM #__your_table");,您应该在此处指定要选择的列和表名。它是 SQL,所以如果您需要任何帮助,请查看它。我没有使用过 joomla 2.5,所以我不知道如何获取错误等(如果有的话),但如果我是你,我会调查一下,以确保 SQL 没有给你任何问题。在 foreach 循环中,您似乎应该使用 SQL 查询中的选定列,但每个结果似乎都是一个对象,因此它们是对象的属性,而不是数组中的索引。 -
谢谢,所以据我了解-SQL 与 mySQL 不同,并且此代码不起作用?这就是这行代码的样子? $db->setQuery("从 xxx_virtuemart_categories_he_il 中选择 category_names、defectmart_category_id");
-
MySQL 使用“正常”的 SQL 语法。这看起来确实正确。您可以在 JDatabase 对象here 的文档/API 中找到。看着你应该在
$results = $db->loadObjectList();之后尝试以下echo $db->getErrorMsg();以查看SQL 错误。 -
错误是:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '' 附近使用正确的语法 SQL=SELECT category_names, meadowmart_category_id FROM #_virtuemart_categories_he_il
标签: php mysql joomla2.5 virtuemart