2016-04-20 2 views
0

Я не знаю, как описать это словами, так я вам покажу: View scores tableКак отображать строки с одинаковыми идентификаторами, но разными значениями строк?

Я пытаюсь отобразить строки, имеет тот же идентификатор, и отображать их значения, но в разных таблицах. Как видно на картинке, я должен сделать таблицу подобной для каждой строки с одинаковым идентификатором. Основная цель этого - сравнить свои оценки с того, когда они впервые сдавали экзамены, на то, что они получили сейчас из одного и того же набора экзаменов.

Это то, что сейчас выглядит в моей базе данных. Они имеют разные идентификаторы идентификаторов и других значений строк, но имеют одинаковый идентификатор id_applicant, поскольку это означает, что эти баллы принадлежат этому определенному заявителю. Database Snippet

Это мой код для этого. (Id_applicant это один, что они будут иметь тот же идентификатор)

<!-- 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> 

Я точно не знаю, как сделать это еще так ни малейшего представления?

+0

Поставьте фрагмент таблицы и столбцов и данных, чтобы дать нам лучшее изображение, пожалуйста. – Tommy

+0

@Tommy Вы имеете ввиду из моей базы данных, riht? –

+0

Да, как таблица данных, из которой вы выходите. – Tommy

ответ

0

Вместо того, чтобы указывать номер в массиве, непосредственно нацеливаться на столбец. Так замена времени цикла с чем-то вроде:

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 } 

Это то, что вы имеете в виду? Вы сказали что-то о сравнении более старых оценок с новыми, но вы ничего не публиковали о том, как вы звоните в эти записи, полагая, что они находятся на другой таблице?

+0

Uhh Мне нужно отображать их на разных столах, а не только в одном. Так же, как изображение, которое я опубликовал в Просмотрах, мне нужно, чтобы каждая из строк имела этот id_applicant для отображения на этой таблице, каждая из которых будет иметь такую ​​таблицу. –

+0

Итак, вам нужно создать несколько таблиц, в зависимости от того, сколько просителей прошли? То, что я отправил, если вы используете тот же запрос, будет создавать ОДНУ таблицу, основанную на том, какой идентификатор передается через $ q, где вы написали id_applicant = $ ids_holder, так что будет создано только 1? – Tommy

Смежные вопросы