根据类别和问题提出问题用户

时间:2015-06-13 09:49:57

标签: php database mysqli web

所以我正在开发一个跨不同类别的问题的网站,但根据用户的不同,问题会有所不同。

一个例子:A队可以访问问题(Cat 1 - 问题1,Cat 2 - 问题2,cat 3,问题3和cat4 - 问题4),然后B队可以访问问题(cat 1 - 问题5,猫2 - 问题6,猫4 - 问题7)....

因此每个团队将拥有这4个类别,但用户的问题可能会因团队ID而异。 http://puu.sh/ilYss/2c93f9a0d5.png

因此,我需要根据类别以及基于团队的问题提出问题,而且我不知道如何关联按钮,以便在团队A点击网络时查看问题&# 39;按钮显示他们的问题,团队B显示不同的问题。

这是我的数据库结构:http://puu.sh/im1D1/caa9c27015.pdf

到目前为止,我有以下内容:

$order = "SELECT * FROM questionscat  ORDER BY questionCatID";

Challenge.php

<div class="row">
                <?php
while($data = mysqli_fetch_row($result)){
    if($data[0] != null){
  echo('
  <div class="col-md-3 col-sm-6">
                <div class="panel panel-default text-center">
                    <div class="panel-heading">
                        <span class="fa-stack fa-5x">
                              <i class="fa fa-circle fa-stack-2x text-primary"></i>
                              <i class="fa fa-question fa-stack-1x fa-inverse"></i>
                        </span>
                    </div>
                    <div class="panel-body">
                        <h4>'.$data[1].'</h4>
                        <p>'.$data[2].'</p>
                        <a href="question.php?id='.$data[0].'" class="btn btn-primary">View Question </a>
                    </div>
                </div>
            </div>
  ');}else{
        echo "Hello";
    }
        }

        ?>


        </div>

我尝试过多次查询,但无法正确查询(例如)

SELECT q.question,t.questionGroupID,qc.questionCatName FROM questions AS q 
INNER JOIN 
questionscat AS qc 
ON q.questionCatID=qc.questionCatID 
INNER JOIN 
team AS t ON t.questionGroupID=qc.questionCatID WHERE 
qc.questionCatID=2

所以,如果有人能提供帮助,我们将不胜感激!或者只是让我朝着正确的方向前进

此致 顺

1 个答案:

答案 0 :(得分:0)

在点击类别Coding时,您希望A组看到其他问题。点击相同的Coding类别时,B组会看到不同的问题。

因此,为了实现这一点,您必须将用户类型置于Session变量中,当用户登录时,该变量将保留用户类型说“PHP_Developer”或“SQL_DBA”等。

现在您拥有登录用户的用户类型。

现在,当我点击类别链接说Coding时,我会转到包含该类别ID /名称的页面,例如abc.com/showquestions.php?category=1abc.com/showquestions.php?categoryName=Coding

现在,在此页面上,您将获得类别ID或名称,您可以在WHERE clause的sql查询中使用它。现在您也想要第二个参数,以便您可以过滤That组用户的类别问题。所以在这里使用我们在登录时存储的会话变量,所以你在WHERE clause中得到第二个条件,如WHERE category = 1 AND userType='".$_SESSION['userType']."'

希望它有意义。

编辑:更简化

SELECT q.question,t.questionGroupID,qc.questionCatName FROM questions AS q 
INNER JOIN 
questionscat AS qc 
ON q.questionCatID=qc.questionCatID 
INNER JOIN 
team AS t ON t.questionGroupID=qc.questionCatID WHERE 
qc.questionCatID=2
AND t.questionGroupID = '".$_SESSION['userType']."'