如何在php mysql中获取和显示这些数据?

如何在php mysql中获取和显示这些数据?,php,mysql,Php,Mysql,我有问题表和主题表,问题表包含在线考试的主题问题 我需要获取以主题名称为标题的主题问题,并以主题序列号显示所有问题,例如:数学:Q1、Q2、Q3 中文:第一季度、第二季度、第三季度等等。 如何在php和mysql中实现它。问题表和主题表如下所示 问题样本数据如下所示 问题:没有 Q集数 Q文本英语 我在这里包括了问题表中的一些列,您可以用同样的方法添加其余的列 <?php $con = mysqli_connect("localhost","root","","datab

我有问题表和主题表,问题表包含在线考试的主题问题

我需要获取以主题名称为标题的主题问题,并以主题序列号显示所有问题,例如:数学:Q1、Q2、Q3 中文:第一季度、第二季度、第三季度等等。 如何在php和mysql中实现它。问题表和主题表如下所示

问题样本数据如下所示


问题:没有
Q集数
Q文本英语


我在这里包括了
问题
表中的一些列,您可以用同样的方法添加其余的列

<?php 
$con = mysqli_connect("localhost","root","","database_name");

$query1 = "SELECT q.q_id,q.setq_no, q.qtext_eng, s.sub_id, s.sub_name
FROM question q
INNER JOIN subject s ON s.sub_id = q.sub_id
INNER JOIN questionset qs ON qs.qset_id = q.qset_id
WHERE qs.qset_id =2 ORDER BY s.sub_id";

$presubID = 0;

<table class="table table-bordered">
while($row1 = mysqli_fetch_array($result1))
{
  $subID = $row1['sub_id'];
  if($subID != $presubID){
    $subName = $row1['sub_name'];
    <h2><?php echo "$subName" ?></h2>
    $sno=0;

      <thead>
        <tr>
          <th>Q.No</th>
          <th>Q Set</th>
          <th>Q text eng</th>
        </tr>
      </thead>
  }
  $presubID = $subID;

  $sno++;
  $qSet = $row1['setq_no'];
  $qEng = $row1['qtext_eng'];

  <tr>
    <td><?php echo $sno; ?></td>
    <td><?php echo $qSet; ?></td>
    <td><?php echo $qEng; ?></td>
  </tr>

<?php
  }
?>
</table>

$sno=0;
问题:没有
Q集
Q文本英语
}
$presubID=$subID;
$sno++;
$qSet=$row1['setq_no'];
$qEng=$row1['qtext_eng'];

请发布一些最简单的文本样本数据、预期输出和您迄今为止的尝试,并接受解决其他问题的答案,展示您的代码,您是否尝试过任何东西。我不知道如何使用内部连接获取单个mysqli查询。在您的情况下,您不应该使用外部while循环,因为这样外部while循环将毫无用处,您必须在不同的主题上运行五个单独的联合查询。但无论如何,这里有一个很好的例子:就像你给我的代码一样。我运行它确实找到了我需要的东西,但我需要在一个查询中实现这一点。我需要一次显示受试者姓名,但当我使用内部联接时,我运行代码受试者姓名重复多次问题我运行此代码但受试者姓名重复选择q.q_id,q.setq_no,q.qtext_eng,s.sub_id,s.sub_name as ss FROM question q internal JOIN subject s ON s.sub_id=q.sub_id internal JOIN questionset qs ON qs.qset_id=q.qset_id其中qs.qset_id=2您在哪里添加了此查询。你能拍下代码的截图并贴在上面吗
 <?php
$result1 = mysqli_query($link,$query1);

while($row1 = mysqli_fetch_array($result1))
 {
 $subID = $row1['sub_id'];
  $subName = $row1['sub_name'];
  ?>
  <h2><?php echo "$subName" ?></h2>

<?php
  error_reporting(0);


    $sno++;
    $qSet = $row1['setq_no'];
    $qEng = $row1['qtext_eng'];

?>
<tr>
  <td><?php echo $sno; ?></td>
  <td><?php echo $qSet; ?></td>
  <td><?php echo $qEng; ?></td>
</tr>
 </tbody>
 </table>
     <?php
   }
 ?>
<?php 
$con = mysqli_connect("localhost","root","","database_name");

$query1 = "SELECT q.q_id,q.setq_no, q.qtext_eng, s.sub_id, s.sub_name
FROM question q
INNER JOIN subject s ON s.sub_id = q.sub_id
INNER JOIN questionset qs ON qs.qset_id = q.qset_id
WHERE qs.qset_id =2 ORDER BY s.sub_id";

$presubID = 0;

<table class="table table-bordered">
while($row1 = mysqli_fetch_array($result1))
{
  $subID = $row1['sub_id'];
  if($subID != $presubID){
    $subName = $row1['sub_name'];
    <h2><?php echo "$subName" ?></h2>
    $sno=0;

      <thead>
        <tr>
          <th>Q.No</th>
          <th>Q Set</th>
          <th>Q text eng</th>
        </tr>
      </thead>
  }
  $presubID = $subID;

  $sno++;
  $qSet = $row1['setq_no'];
  $qEng = $row1['qtext_eng'];

  <tr>
    <td><?php echo $sno; ?></td>
    <td><?php echo $qSet; ?></td>
    <td><?php echo $qEng; ?></td>
  </tr>

<?php
  }
?>
</table>