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

Posted

技术标签:

【中文标题】如何将数据库中的值放入表中的特定列【英文标题】: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,对吗? 【参考方案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

以上是关于如何将数据库中的值放入表中的特定列的主要内容,如果未能解决你的问题,请参考以下文章

如何使用目标实体更新 Android 上的 Rooms 数据库表中的特定列?

如何使 React 表中的列数据可点击?

oracle数据库中我想将a表中的b列结果为负数的转换成0,或者特定的一个数

在 Sql Server 中,如何将游标中的值放入临时表中?

如何在所有表中查找特定列并在 PostgreSQL 中修改该列的值

PreparedStatement 查询将数据插入表中的特定列