如何将数据库中的值放入表中的特定列

问题描述 投票:2回答:1

这是从数据库中获取数据的代码

<?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>";
?>

这是我想要的每个actcode的数据库,它将转到输出表的某一行

这是当前输出,其中我从课程考试行中获取数据库中的所有数据。

这应该是所需的输出。如果数据库中用户的ACTCODE值为1,那么它应该在课程考试行的输出中,如果在模块1行中则为2,如果在模块2行中则为3,依此类推

预先感谢您的帮助。

php html arrays mysqli phpmyadmin
1个回答
1
投票

如果我正确理解你的问题,你想要打印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>'
}
© www.soinside.com 2019 - 2024. All rights reserved.