Как сделать новую строку в таблице, которая извлекает поля базы данных из массива? - PullRequest
0 голосов
/ 19 октября 2011

У меня есть массив, который будет извлекать строки из базы данных. Но я хочу создать новую пустую строку в таблице, где если $row['StudentAnswer'] равно $row['AnswerContent'], то новое поле (скажем, оно называется $row['StudentAnswerWeight']) = $row['Weight%'] else $row['StudentAnswerWeight'] = '0'.

ОК, таблица является результатом запроса. Массив содержит поля из запроса. Посмотрите на это для примера: $row['Answercontent'] = Leeds (Это правильный ответ на вопрос.) $row['StudentAnswer'] = Leeds (Это то, что студент поставил за ответ.) $row['weight%'] - это процент от оценки за правильный ответ. Допустим, что ответ для приведенного выше примера = 5% от общей оценки. Теперь, как в приведенном выше примере показано, что ответ учащегося соответствует правильному ответу, это означает, что в новом поле я хочу, чтобы ($row['StudentAnswerWeight'] отображал весовой процентный процент ответа, который составляет 5%. Если учащийся ошибся в ответе, скажем, студент вставил в ответ «Манчестер». Студенческий вес должен = 0%, так как ответ неверный. Я надеюсь, что теперь вы понимаете, чего я хочу достичь.

Как я могу это сделать, потому что я не могу понять, что это правильно?

Ниже приведен массив и поля таблицы в коде php:

<table border='1'>
      <tr>
      <th>Session ID</th>
      <th>Question Number</th>
      <th>Question</th>
      <th>Correct Answer</th>
      <th>StudentAnswer</th>
      <th>Correct Answer Weight</th>
      <th>Student Answer Weight</th>
      <th>Student ID</th>
      </tr>
      <?php

        while ($row = mysql_fetch_array($result)) {
            echo "
      <tr>
      <td>{$row['SessionId']}</td>
      <td>{$row['QuestionNo']}</td>
      <td>{$row['QuestionContent']}</td>
      <td>{$row['AnswerContent']}</td>
      <td>{$row['StudentAnswer']} </td>
      <td>{$row['Weight%']}</td>
      <td>{$row['StudentAnswerWeight']}</td>
      <td>{$row['StudentId']}</td>
      </tr>";
        }
      ?>

1 Ответ

0 голосов
/ 19 октября 2011

Как насчет этого:

...
<td>{$row['Weight%']}</td>
<td>{" . $row['StudentAnswer'] == $row['AnswerContent'] ? $row['Weight%'] : "0" . "}</td>
<td>{$row['StudentId']}</td>
...

Подумайте, это то, что вы пытаетесь сделать, хотя я все еще немного растерялсяЭто работает?

Или, может быть, будет проще, если вы попробуете более протяженный подход.Он требует больше синтаксиса, но делает логику немного проще для определения ...

...
<td>{$row['Weight%']}</td>
<td>{"; 
if ($row['StudentAnswer'] == $row['AnswerContent'])
  echo "$row['Weight%']";
else
  echo "0";
echo "}</td>
<td>{$row['StudentId']}</td>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...