在表中的每隔一行中回显不同的表列

时间:2017-08-01 11:31:54

标签: php mysql

您好,我正在制作调查问卷。问题及其答案存储在如下表格中: questions table

现在,我想在一个表格中显示问题及其答案,在表格中我可以获得问题以及不同行的可能答案。像这样:

to be displayed like this

在我的php文件中,我回显表和行,但我无法弄清楚如何将问题和答案放在不同的行中。这是它的样子: My table

这是我的PHP代码:

<?php 
    session_start();
    $status=$_GET["status"];
    include 'dbh.inc.php';
?>
<html>
    <head>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }
        table, td, th {

            text-align: left;
            padding: 8px;
        }
        #td_box{
            text-align: center;
        }
        tr:nth-child(even){background-color: #f2f2f2}
        th {
            background-color: #006689;
            color: white;
        }
    </style>
    </head>
        <body>
            <?php
            if ($status=="disp") {
                $sql="SELECT * FROM questions";
                $result = mysqli_query($conn,$sql);
                echo "<table>";
                while ($row=mysqli_fetch_array($result)) {
                    echo "<tr>";
                    echo "<td>"; echo $row["question"]; echo "</td>";
                    echo "<td>"; echo $row["optionA"];echo $row["optionB"];echo $row["optionC"];
                    echo $row["optionD"];echo $row["optionE"];echo "</td>"; 
                }
            }
            echo "</table>";
            ?>
        </body>
</html>

3 个答案:

答案 0 :(得分:2)

尝试:

<?php
        if ($status=="disp") {
            $sql="SELECT * FROM questions";
            $result = mysqli_query($conn,$sql);
            echo "<table>";
            while ($row=mysqli_fetch_array($result)) {
                echo "<tr>";
                echo "<td>"; echo $row["question"]; echo "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td>"; echo $row["optionA"];echo $row["optionB"];echo $row["optionC"];
                echo $row["optionD"];echo $row["optionE"];echo "</td>";
                echo "</tr>"; 
            }
        }
        echo "</table>";
        ?>

我做了什么:

我在你的问题回答之后添加了一个</tr>并在之后直接打开一个新问题。然后,在您忘记执行此操作后,我在<tr>之后关闭<td>

答案 1 :(得分:1)

1st:将所有选项单选按钮放入另一个tr

第二名:维护单选按钮的正确名称属性。name="question[$row['question_id']]"

第3名并使用colspan="4"查询问题td

while ($row=mysqli_fetch_array($result)) {
                echo "<tr >";
                echo "<td colspan='4'>"; echo $row["question"]; echo "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td>"; 
                echo "<input type=\"radio\" name=\"question[$row['question_id']]\" value=\"$row['optionA']\" >".$row['optionA'];
               echo "</td>";
               echo "<td>";  
               echo "<input type=\"radio\" name=\"question[$row['question_id']]\" value=\"$row['optionB']\" >".$row['optionB'];
               echo "</td>"; 
               echo "<td>"; 
               echo "<input type=\"radio\" name=\"question[$row['question_id']]\" value=\"$row['optionC']\" >".$row['optionC'];
                echo "</td>";
                echo "<td>";  
                echo "<input type=\"radio\" name=\"question[$row['question_id']]\" value=\"$row['optionD']\" >".$row['optionD'];
                echo "</td>"; 
                echo "<td>"; 
                echo "<input type=\"radio\" name=\"question[$row['question_id']]\" value=\"$row['optionE']\" >".$row['optionE'];
                echo "</td>"; 
                echo "</tr>"; 
            }

答案 2 :(得分:0)

                echo "<tr>";
                echo "<td colspan='4'>"; echo $row["question"]; echo "</td>";
                echo "</tr>";
                echo "<tr>";
                echo "<td>"; echo $row["optionA"];echo "</td>";
                echo "<td>"; echo $row["optionB"];echo "</td>";
                echo "<td>"; echo $row["optionC"];echo "</td>";
                echo "<td>"; echo $row["optionD"];echo "</td>";
                echo "</tr>";

通过这种方式,您将以对齐的方式以表格格式获得正确的答案