gpt4 book ai didi

php - 如何在 Joomla 数据库/Seblod 中选择(连接)多个表

转载 作者:行者123 更新时间:2023-11-29 07:45:59 25 4
gpt4 key购买 nike

我已经使用joomla的SEBLOD组件创建了一个表单,没关系,我可以正确查看输入的数据,但我想操作数据,但是我无法连接到数据库,所以我尝试过这个:

<?php
defined( '_JEXEC' ) or die;


$catId = 11;
$catId2 = 12;

$sql = "SELECT * FROM #__cck_store_form_add_compras";
$con = &JFactory::getDBO();
$con->setQuery($sql);
$resultado = $con->loadObjectList();


$query = "SELECT * FROM #__content WHERE catid ='" . $catId . "' OR catid ='" . $catId2 . "'";
$db = JFactory::getDBO();
$db->setQuery($query);
$articles = $db->loadObjectList();

foreach($articles as $article){
echo '<br/><br/>ID:'. $article->id
.'<br/>Titulo: '. $article->title
.'<br/>Quantidade Comprada: '.$resultado[0]->add_compras_quantidade_comprada
.'<br/>Unidade de Medida: '.$resultado[0]->add_compras_unidade_de_medida
.'<br/>Preço Por Kilo/Unidade: '.$resultado[0]->add_compras_preco_por_unidade_kilo
.'<br/>Data da Compra: '.$resultado[0]->add_compras_data_da_compra
.'<br/>Total da Compra: '.$resultado[0]->add_compras_total_da_compra
.'<br/>Local da Compra: '.$resultado[0]->add_compras_local_da_compra
;
}
?>

我想要的是获取#__content表中保存的文章id、文章名称、文章类别,以及#__cck_store_form_add_compras表中保存的其他字段,但仅限类别id = 11的文章或类别 id = 12

当我使用此代码(上面)时,我看到了结果,但其中一些结果似乎是重复的。

.

当我在下面使用它时,我只看到文章的 id 和文章名称,但看不到其他字段:

$catId = 11;
$catId2 = 12;
$query = "SELECT * FROM #__content WHERE catid ='" . $catId . "' OR catid ='" . $catId2 . "'";
$db = JFactory::getDBO();
$db->setQuery($query);
$articles = $db->loadObjectList();

.

如果我使用下面的代码,我只能看到其他字段,但看不到文章的 id 和文章名称:

$sql = "SELECT * FROM #__cck_store_form_add_compras";
$con = &JFactory::getDBO();
$con->setQuery($sql);
$resultado = $con->loadObjectList();

.

查看文档我发现了这段代码:

// Get a db connection.
$db = JFactory::getDbo();

// Create a new query object.
$query = $db->getQuery(true);

// Select all articles for users who have a username which starts with 'a'.
// Order it by the created date.
// Note by putting 'a' as a second parameter will generate `#__content` AS `a`
$query
->select($db->quoteName(array('a.*', 'b.username', 'b.name')))
->from($db->quoteName('#__content', 'a'))
->join('INNER', $db->quoteName('#__users', 'b') . ' ON (' . $db->quoteName('a.created_by') . ' = ' . $db->quoteName('b.id') . ')')
->where($db->quoteName('b.username') . ' LIKE \'a%\'')
->order($db->quoteName('a.created') . ' DESC');

// Reset the query using our newly populated query object.
$db->setQuery($query);

// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();

我认为这正是我所需要的,但我不知道如何更改才能满足我的需要,有人可以帮助我吗?

抱歉我的英语不好,我正在使用谷歌翻译来帮助我。

最佳答案

显示已过滤的 SEBLOD 内容列表的最佳方法是使用 SEBLOD 搜索并通过菜单项、模块或 SEBLOD 内容内部(使用 CCK 模块或 CCK 列表字段)显示它。在 SEBLOD 搜索中,您可以将“文章类别 ID”设置为过滤器,默认值为“11,12”,这样只会检索这 2 个类别中的文章。

请在 SEBLOD 论坛 http://www.seblod.com/community/forums/general-discussions/connecting-to-database#post22181 上找到您问题的完整答案

谢谢。塞巴斯蒂安。

关于php - 如何在 Joomla 数据库/Seblod 中选择(连接)多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com