我是joomla的新手,我正在尝试构建一个组件,它是viruemart的插件,允许用户在其用户区域中访问发票PDF。为此,我需要编写一个选择查询,为我从数据库中检索此信息。
我一直在搞乱它,并想出了以下内容,但似乎没有做任何事情:
$id =JFactory::getUser()->id;
$db =& JFactory::getDBO();
$sql = "SELECT * FROM jos_vm_orders";
$db->setQuery($sql);
$options = $db->loadObjectList();
return $options;
我错过了什么吗?
答案 0 :(得分:9)
您可以在此文档中查看数据库查询 - http://docs.joomla.org/API16:JDatabaseQuery
交叉检查你的表格前缀。或者试试这个 -
$db =& JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__vm_orders');
$query->where('id = 1'); //put your condition here
$db->setQuery($query);
//echo $db->getQuery();exit;//SQL query string
//check if error
if ($db->getErrorNum()) {
echo $db->getErrorMsg();
exit;
}
return $db->loadObjectList();
答案 1 :(得分:2)
$db =& JFactory::getDBO();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__vm_orders');
$db->setQuery($query);
$options = $db->loadObjectList();
return $options;
OR
$db =& JFactory::getDBO();
$sql = "SELECT * FROM #__vm_orders";
$db->setQuery($sql);
$options = $db->loadObjectList();
return $options;
试试这个,如果您有任何问题,请告诉我。
答案 2 :(得分:1)
试试这个
$user =JFactory::getUser();
$userId = $user->id;//also u get name,email etc
$db =& JFactory::getDBO();
$sql = "SELECT * FROM table where condition";
$db->setQuery($sql);
$db->query();
$options = $db->loadObjectList();
return $options;
答案 3 :(得分:1)
$id =JFactory::getUser()->id;
$db =& JFactory::getDBO();
$sql = "SELECT * FROM #__vm_orders";
$db->setQuery($sql);
$options = $db->loadObjectList();
return $options;
我还建议在为Joomla 2.5和其他版本使用复杂查询时使用查询链。在这里您可以阅读:http://m4extensions.com/index.php/tutorials/3-access-database-from-your-joomla-extension