使用Joomla数据库创建动态HTML表?

时间:2014-06-04 11:15:33

标签: php html mysql database joomla

我的代码机制

我的代码执行一个SQL查询,该查询选择USERNAME列包含当前登录到我网站的用户名的所有行。

我想要实现的目标

我想将这些行显示为HTML表格,但我希望它们是动态的。我的意思是,如果仅针对登录用户找到了1行,则只应创建1行的HTML表格。如果找到针对​​登录用户的5行,则应创建5行的HTML表。

这是我的代码

$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__report'));
$query->where($db->quoteName('username') . " = ". $db->quote($user->username));
$db->setQuery($query);

$row = $db->loadRow();

echo "<table>
<tr>
<th> Article Name </th>
<th> Report Data </th>
<tr>
<tr>
<td> #name_of_the_article </td>
<td> #report_data_of_the_article </td>

</tr>
</table>";

我需要在代码中添加/编辑什么才能实现此目的..?

1 个答案:

答案 0 :(得分:1)

这应该让你开始。根据我在JSE上写的答案,但是使用你的代码。

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
      ->from($db->quoteName('#__report'))
      ->where($db->quoteName('username') . " = ". $db->quote($user->username));
$db->setQuery($query);

$rows = $db->loadObjectList();

echo '<table>';
echo '<tr>';
echo '  <th>Article Name </th>';
echo '  <th>Report Data </th>';
echo '</tr>';  
      foreach($rows as $row) {
          echo '<tr><td>' . $row->name . '</td><td>' . $row->report_data . '</td></tr>';
      }
echo '</table>';

如您所见,我已使用$row->name$row->report_data,但您可能需要根据数据库的列名更改这些内容。