Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从多个具有不同名称和字段名称的表中选择数据_Php_Mysql_Database_Joomla - Fatal编程技术网

Php 从多个具有不同名称和字段名称的表中选择数据

Php 从多个具有不同名称和字段名称的表中选择数据,php,mysql,database,joomla,Php,Mysql,Database,Joomla,在CMS Joomla中,我需要从表adsmanager ads列ad healine和表模块列title中选择数据 然后我需要检查ad_headline==加载模块的标题是否等于ad_healine 我将此代码用于单个表选择: <?php // Get a db connection. $db = JFactory::getDbo(); // Create a new query object. $query = $db->getQuery(true); $query -

在CMS Joomla中,我需要从表adsmanager ads列ad healine和表模块列title中选择数据

然后我需要检查ad_headline==加载模块的标题是否等于ad_healine

我将此代码用于单个表选择:

<?php
// Get a db connection.
$db = JFactory::getDbo();
 // Create a new query object.
$query = $db->getQuery(true);
$query
    ->select($db->quoteName(array('ad_headline')))
    ->from($db->quoteName('#__adsmanager_ads'));

$db->setQuery($query);
$results = $db->loadObjectList();
$objectoarr = json_decode(json_encode($results),true); // Convert stdClass object to array
print_r($objectoarr);     
?>
========================================================================= 接下来我写下面的代码,问题几乎解决了

<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query 
    ->select (array('a.ad_headline', 'b.title')) //Select columns from database
    ->from ($db->quoteName('#__adsmanager_ads','a'))
    ->join('LEFT', $db->quoteName('#__modules', 'b') . ' ON (' . $db->quoteName('a.ad_headline') . '=' . $db->quoteName('b.title').')');
$db->setQuery($query);
$result = $db->loadObjectList();
$objectoarr = json_decode(json_encode($result),true); // Convert stdClass object to array

foreach ($objectoarr as $adhealine){
        if ($adhealine[ad_headline] === $adhealine[title])
        {
            $document = &JFactory::getDocument();
            $renderer   = $document->loadRenderer('modules');
            $position   = 'inside-ad';
            $options   = array('style' => 'raw');
            echo $renderer->render($position, $options, null); 
        }
}
?>
但问题是,所有模块都设置为在ad加载中的位置。但我只需要加载模块,它的名称相当于ads名称

我怎样才能解决这个问题?提前感谢