请有人建议如何处理我遇到的这个问题。
使用此查询:
$query1 = "SELECT * FROM assessments WHERE pupil_id=288";
我有一个来自数据库的数字行,对于在不同时间进行了3次评估的学生(由assessment_id列标记)
Array ( [assessment_id] => 47 [pupil_id] => 288 [assessblock_id] => 13 [Speaking] => P2ic [Listening] => P2ib...
Array ( [assessment_id] => 49 [pupil_id] => 288 [assessblock_id] => 14 [Speaking] => P9a [Listening] => P9a...
Array ( [assessment_id] => 171 [pupil_id] => 288 [assessblock_id] => 15 [Speaking] => H1b [Listening] => H1b...
我需要把它们变成这样的表格。它显示了每个科目的三个等级。
------------------------------
subject | assessment id | next assessment id| last assessment id |
Speaking | P2ic | P9a | H1b |
我的问题是如何最好地从我的数据行转移到此表?如果只有一排当然很容易。我无法看到如何添加第三列(第二组结果),因为此时我已经使用了</tr>
以下是我尝试过的一些代码:
$query1 = "SELECT * FROM assessments WHERE pupil_id=288 AND assessblock_id='15'";
$result = $conn->query($query1);
if ($result->num_rows > 0) {
?>
<table border="1" cellspacing="0" cellpadding="0">
<tr><th>Subject</th><th>grade</th></tr>
<?php
while($row = $result->fetch_assoc()) {
foreach ($subjectListArray as $subject){
$sub = str_replace(" ", "_", $subject);
echo '<tr><td>'.$subject.'</td><td>'.$row[$sub].'</tr>';
}
}// endwhile
echo '</table>';
}//endif
这会产生一列主题,第二个是第一个评估区。
在上面的查询中,我有evaluateblock_id = 15 - 所以我只得到1行。我删除它以获得所有三行 - 但随后我的表崩溃了。
我可以将第二次和第三次评估纳入我的表......
我无法看到如何直接从qy添加第二和第三个评估块
答案 0 :(得分:0)
RUN apt-get update
RUN apt-get install -y libz-dev libmemcached-dev && \
pecl install memcached && \
docker-php-ext-enable memcached
答案 1 :(得分:0)
最后我决定采用不同的方式。我花了一些时间试图让我的问题清楚,尽管我显然失败了。我只想坚持一个查询。最后,我有3个查询来获得三列。这似乎有效。