2

我在一个 Joomla 网站上工作,当用户在程序中完成某个测验时,我想在他们的个人资料中显示验证图形和文本。我已经完成了大部分代码,但我无法让它做我想做的事。这是我所拥有的:

        $db = &JFactory::getDBO();

        $uri = JURI::base();
        $my =& JFactory::getUser();
        $user =& CFactory::getActiveProfile();

        $query = '选择 distinct(a.id)、a.title、a.alias、a.description、a.created、a.responses、c.title 作为类别'
            . ' from #__quiz_quizzes a left join #__quiz_categories c on a.catid=c.id left join #__quiz_responses r on a.id=r.quiz_id'
            . ' 其中 r.created_by='.$user->id.' a.published=1 order by a.created desc';
        $db->setQuery($query, 0, 10);
        $items = $db->loadObjectList();
            $menu = &JSite::getMenu();
            $mnuitems = $menu->getItems('link', 'index.php?option=com_communityquiz&view=quiz');
            $itemid = isset($mnuitems[0]) ?'&Itemid='.$mnuitems[0]->id : '';
    if (strpos($itemid,'3')) {
    echo " 代表已验证";
    } 别的 {
    echo " Rep is not Verified {S​​HOW_FOR profile_owner} 如何获得验证{/SHOW_FOR}{HIDE_FOR profile_owner} 这是什么意思?{/HIDE_FOR}";
    回声“”;
    }

麻烦的是,如果有人用 id '3' 参加过测试,它会说他们已经过验证。如果 quiz_id 等于“3”,并且 created_by 字段与$user. 我的代码取自原始插件,对于这么小的功能甚至可能不需要所有代码,不胜感激帮助简化! 数据库表截图

4

1 回答 1

0

我想我是通过 Stack Overflow 上其他论坛条目的组合找到它的。这有效:

    $user   =& CFactory::getActiveProfile();
    $result = mysql_query("SELECT COUNT(*) AS num_rows FROM hxlth_quiz_responses WHERE created_by='{$user->id}' and quiz_id='3' and score='3' LIMIT 1;");
    $row = mysql_fetch_array($result);
    if($row["num_rows"] > 0){
    echo "<div style='margin: 0 15px 15px 0; padding: 5px; box-shadow: rgba(0,0,0,0.4) 1px 1px; border: 1px solid #cccccc;'><img src='/images/check1.jpg' align='absmiddle' width='22' height='21' /> Rep is Verified</div>";
    } else {
    echo "<div style='margin: 0 15px 15px 0; padding: 5px; box-shadow: rgba(0,0,0,0.4) 1px 1px; border: 1px solid #cccccc;'><img src='/images/x1.jpg' align='absmiddle' width='21' height='21'> Rep is not Verified {SHOW_FOR profile_owner}<a href='index.php?option=com_communityquiz&view=quiz&task=respond&id=3'><font size='1'> How to get verified</font></a>{/SHOW_FOR}{HIDE_FOR profile_owner} <a href='index.php?option=com_communityquiz&view=quiz&task=respond&id=3'><font size='1'> What does this mean?</font>{/HIDE_FOR}";
    echo "</a></div>";
    }

它现在可以正确显示图形和文本,我什至加入了 AND 分数变体,以确保他们实际上通过了测验!

于 2012-12-08T07:07:19.263 回答