如何显示具有相同ID但不同行值的行?

时间:2016-04-20 08:28:26

标签: php mysql

我不确定如何用文字描述它,所以我会告诉你: View scores table

我尝试显示具有相同ID的行,并在不同的表中显示其值。如图所示,我必须为具有相同ID的每一行创建一个这样的表。它的主要目的是比较他们从一开始参加考试之前的分数,以及他们从同一组考试中获得的分数。

这就是我的数据库现在的样子。它们具有不同的scoreID和其他行值,但具有相同的id_applicant,因为它指的是这些得分属于该特定申请人。 Database Snippet

这就是我的代码。 (id_applicant是他们将具有相同ID的那个)

<!-- VIEW SCORES -->
        <div style="background-color: #E9E9E9" class="tab-pane" id="ViewScoresTab">
            <div class="list-group">
                <div id="view-scores">
                    <div class="form-group" style="margin-left:20px">
                       <br>
                        <div id="inputhere"></div>
                            <h1><span class="label label-default">View Scores</span></h1>
                            <br><br>
                            <table>
                               <tr>
                                  <th bgcolor= '#00BFFF'>TEST</th>
                                  <th bgcolor= '#FFD700'>SCORES</th>
                                  <th bgcolor= '00FF00'>REMARKS</th>
                               </tr>
                       <?php
                            $servername = "localhost";
                            $username = "root";
                            $password = "";
                            $dbname = "offsourcing";

                            $conn = mysqli_connect($servername, $username, $password, $dbname);
                            // Check connection
                            if (!$conn) {
                                die("Connection failed: " . mysqli_connect_error());
                            } 
                            if(isset($ids_holder)){
                            $q = "SELECT * FROM scores WHERE id_applicant = $ids_holder";
                            $result = mysqli_query($conn, $q);
                            $rowcount = mysqli_num_rows($result);
                            for(int x=0;x!=rowcount;x++){
                              //some code for here
                            }

                                 while($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
                                    echo
                               "<tr>
                                  <td class= 'test'> Grammar </td>
                                  <td> $row[2]  </td>
                                  <td> $row[8] </td>
                               </tr>

                               <tr>
                                  <td class= 'test'> Customer Service </td>
                                  <td> $row[3] </td>
                                  <td> $row[9] </td>

                               <tr>
                                  <td class= 'test'> Logical Reasoning </td>
                                  <td> $row[4] </td>
                                  <td> $row[10] </td>
                               </tr>

                               <tr>
                                  <td class= 'test'> Idioms </td>
                                  <td> $row[5] </td>
                                  <td> $row[11] </td>
                               </tr>

                               <tr>
                                  <td class= 'test'> Call Listening (1) </td>
                                  <td> $row[6] </td>
                                  <td> $row[12] </td>
                               </tr>

                               <tr>
                                  <td class= 'test'> Call Listening (2) </td>
                                  <td> $row[7] </td>
                                  <td> $row[13] </td>
                               </tr>"; 
                               mysqli_close($conn);
                           } 
                       }
                               ?>
                            </table>
                            <br><br>  
                            <br><br>  
                            <br><br>


                        </div>
                    </div>
                </div>
           </div>
        </body>
</html>

我还不确定如何做到这一点呢?

1 个答案:

答案 0 :(得分:0)

不是定位数组中的数字,而是直接定位列。 所以用以下内容替换你的while循环:

while($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
                           echo
                           '<tr>
                              <td class= 'test'> Grammar </td>
                              <td>'.$row['GrammarScore'].'</td>
                           </tr>

                           <tr>
                              <td class= 'test'> Customer Service </td>
                              <td>'.$row['CustomerServiceScore'].'</td>
                           </tr>'; //etc }
这是什么意思?你说了一些关于将旧分数与新分数进行比较的事情,但你没有真正发布关于你如何调用这些记录的任何内容,假设它们在不同的桌子上?