如何将数据库中的值放入表中的特定列
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 数据库表中的特定列?
oracle数据库中我想将a表中的b列结果为负数的转换成0,或者特定的一个数
在 Sql Server 中,如何将游标中的值放入临时表中?