2016-03-04 91 views
0

基本上我试图从表格中获取数据。当我拉出所有的行时,我将分支作为ID,并且我试图与分支表交叉,以便我可以获得标题并显示它。这样做的正确方法是什么?我对函数没有太多的经验,但我认为函数可以在这里派上用场。预先感谢您的帮助!Joomla数据库 - 从第一个表格的结果中获取不同表格的结果

<table class="table table-striped"> 
<tbody> 
<tr> 
<td><h5>Title</h5></td> 
<td><h5>Location</h5></td> 
<td><h5>Time</h5></td> 
</tr> 
<?php 


// Get a database object 
$db = JFactory::getDbo(); 

$query = $db->getQuery(true); 
$query->select('*'); 
$query->from('#__jobs_description'); 

// sets up a database query for later execution 
$db->setQuery($query); 

// fetch result as an object list 
$result = $db->loadObjectList(); 

foreach ($result as $row) { 

echo "<tr>"; 
echo "<td>"; 
echo $row->title; 
echo "</td>"; 
echo "<td>"; 

getbranchtitle($row->branch); 

echo "</td>"; 
echo "<td>"; 
echo $row->type; 
echo "</td>"; 
echo "</tr>"; 


} 

function getbranchtitle(){ 
// Get branch name 
$db2 = JFactory::getDbo(); 
$query2 
    ->select($db->quoteName(array('id', 'title'))) 
    ->from($db->quoteName('#__vna_jobs_branch')) 
    ->where('id = '. ($row->branch)) 
    ->order('ordering ASC'); 
    $result2 = $db->loadObjectList(); 
    echo $result2->title; 

} 

?> 
</tbody> 
</table> 

回答

0

这应该有加入的,而不是你目前的解决方案来解决:

... 
$query = $db->getQuery(true); 
$query->select('j.*'); 
$query->select('b.title as branchtitle'); 
$query->from('#__jobs_description', 'j'); 
$query->leftJoin('#__vna_jobs_branch b on (j.branch=b.id)') 
// sets up a database query for later execution 
$db->setQuery($query); 
... 

现在branchtitle会在你的foreach循环直接可用

... 
echo "<tr>"; 
echo "<td>"; 
echo $row->title; 
echo "</td>"; 
echo "<td>"; 
$row->branchtitle; // from your query join 
echo "</td>"; 
... 
相关问题