【问题标题】:How to put the values from database to a specific column in the table如何将数据库中的值放入表中的特定列
【发布时间】:2019-02-03 08:14:34
【问题描述】:

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

<?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 值为 1,那么它应该在课程考试行的输出中,如果在模块 1 行中,则为 2,并且3 如果在模块 2 行中,依此类推

提前感谢您的帮助。

【问题讨论】:

  • 想要的输出,是同一行不同列的所有值还是不同的行和列?
  • 如果数据库中用户的 ACTCODE 值为 1,那么它应该在课程考试行的输出中,如果在模块 1 行中,则为 2,如果在模块 2 行中,则为 3,依此类推
  • 标题应该是How to put the values from database to a specific column in the table,对吗?

标签: php html arrays mysqli phpmyadmin


【解决方案1】:

如果我正确理解了您的问题,您想先打印 n 次 0,然后再打印数据,然后再打印 m 次 0。其中 n + 3 + m 是表格中的列数。

根据你的 cmets 我改变了我的整个答案,现在的策略是将行放在一个数组上,并在组织后回显数组。

// 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>'
}

【讨论】:

  • 它解决了问题,但它在表中添加了额外的空列。检查上图。
  • 我添加了一个 var 来修复最后一部分的打印数量,您可能需要为最后一列添加额外的回显,因为它们与其他列的模式不同
  • 你想都在同一行吗?
  • 是的,先生,我希望它在同一行,就像第一行一样。 @佩德罗·恩里克
  • .push()?它不是 javascript
猜你喜欢
  • 2015-08-05
  • 2023-04-01
  • 2012-12-12
  • 2023-04-10
  • 2015-09-10
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
  • 1970-01-01
相关资源
最近更新 更多