在smarty循环中显示mysql查询


show mysql query in smarty loop

我想在smarty循环中显示一些类似标题的查询:

table1 (courses): id, title
table2 (questions): id, title, teachers_id
查询:

$this->ctitle_qtitle = DatabaseHandler::GetAll("
                 SELECT courses.title , questions.title
                 FROM courses
                 JOIN questions
                 ON courses.id = questions.courses_id "); 

这个查询是正确的,在.tpl文件中我使用loop:

{section name=i loop=$obj->ctitle_qtitle}
    <tr>
        <td><h3><a href="#">{$obj->ctitle_qtitle[i].title</a></h3></td>
        <td>{$obj->ctitle_qtitle[i].title}</td>
        <td><a href="#" class="ico del">Delete</a>
         <a href="#" class="ico edit">Edit</a></td>
    </tr>
{/section}

我如何使用课程。标题或问题。

你需要修改你的SQL查询:

$this->ctitle_qtitle = DatabaseHandler::GetAll("
                 SELECT courses.title , questions.title
                 FROM courses
                 JOIN questions
                 ON courses.id = questions.courses_id "); 

$this->ctitle_qtitle = DatabaseHandler::GetAll("
                 SELECT courses.title AS `ctitle` , questions.title AS `qtitle`
                 FROM courses
                 JOIN questions
                 ON courses.id = questions.courses_id "); 

这样可以为列名创建别名(以前这是一个问题,因为2列有相同的名称),现在您可以在Smarty中简单地使用ctitle和qtitle,例如:

{section name=i loop=$obj->ctitle_qtitle}
    <tr>
        <td><h3><a href="#">{$obj->ctitle_qtitle[i].ctitle</a></h3></td>
        <td>{$obj->ctitle_qtitle[i].qtitle}</td>
        <td><a href="#" class="ico del">Delete</a>
         <a href="#" class="ico edit">Edit</a></td>
    </tr>
{/section}