下面是从数据库中获取数据的代码
<?php
$uid = $_SESSION['UID'];
$result = mysqli_query($conn,"SELECT user.*,score.* from `user` join score ON user.USERID=score.USERID WHERE user.USERID=$uid ");
if (!$result) {
printf("Error: %s\n", mysqli_error($conn));
exit();
}
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$row['SCORE']."</td>";
echo "<td>".$row['AVERAGE']."</td>";
echo "<td>".$row['POINTS']."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
echo "<td>".'0'."</td>";
}
echo "</tr>";
?>
这是我想要每个动作代码的数据库,它将转到输出的表的某个行中的
下面是current output,在这里,我从课程考试行中的数据库中获取了所有数据。
这应该是所需的输出。如果数据库中用户的ACTCODE值为1,则它应该在课程考试行的输出中,如果在模块1行中,则为2,如果在模块2行中,则为3,依此类推
提前感谢您的帮助。
发布于 2018-08-29 00:46:15
如果我没理解错的话,你想打印n乘以0,然后打印数据,然后再打印m乘以0。其中n+3+m是表上的列数。
根据您的评论,我更改了我的整个答案,现在的策略是将行放在一个数组中,并在组织数组后回显该数组。
// this function will echo the data
function dataBlock($row)
{
return "<td>".$row['SCORE']."</td>".
"<td>".$row['AVERAGE']."</td>".
"<td>".$row['POINTS']."</td>";
}
// the beginning of your code...
$numModules = 4; // a var to store the number of modules
$rows = []
while($row = mysqli_fetch_array($result))
{
array_push($rows[$row['USERID']][$row['ACTCODE']], dataBlock($row));
}
foreach($rows as $row) {
echo '<tr>';
for ($k = 0 ; $k < $numModules; $k++) { echo $row[$k]; }
echo '</tr>'
}
https://stackoverflow.com/questions/52062209
复制相似问题