所以我正在开发一个跨不同类别的问题的网站,但根据用户的不同,问题会有所不同。
一个例子: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
所以,如果有人能提供帮助,我们将不胜感激!或者只是让我朝着正确的方向前进
此致 顺
答案 0 :(得分:0)
在点击类别Coding
时,您希望A组看到其他问题。点击相同的Coding
类别时,B组会看到不同的问题。
因此,为了实现这一点,您必须将用户类型置于Session
变量中,当用户登录时,该变量将保留用户类型说“PHP_Developer”或“SQL_DBA”等。
现在您拥有登录用户的用户类型。
现在,当我点击类别链接说Coding
时,我会转到包含该类别ID /名称的页面,例如abc.com/showquestions.php?category=1
或abc.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']."'