Php 从MySQL表中选择-将单列的每行下移1行
我有一张桌子。我使用它在我的网站上显示数据:Php 从MySQL表中选择-将单列的每行下移1行,php,mysql,mysqli,Php,Mysql,Mysqli,我有一张桌子。我使用它在我的网站上显示数据: $daily = "SELECT id, weight, sys FROM scale ORDER BY id DESC LIMIT 24"; $result_daily = $conn->query($daily); <table> while($row = $result_daily->fetch_assoc()) { echo "<tr><<td>"
$daily = "SELECT id, weight, sys FROM scale ORDER BY id DESC LIMIT 24";
$result_daily = $conn->query($daily);
<table>
while($row = $result_daily->fetch_assoc()) {
echo "<tr><<td>". $row["id"]. "</td><td>" . $row["weight"] . "</td><td>". $row["sys"]. "</td></tr>";
}echo "</table>";}?>
我想将sys列的每一行下移1行。像这样:
id. weight sys
| 5. | 32.5 | |
| 4. | 31.5 | 15 |
| 3. | 34.5 | 14 |
| 2. | 31.5 | 17 |
| 1. | 30.0 | 15 |
$daily=“按id DESC LIMIT 24从磅秤订单中选择id、重量、系统”;
$result\u daily=$conn->query($daily);
$s=“”;
而($row=$result\u daily->fetch\u assoc()){
echo“您可以在循环时将先前的sys
值保留在局部变量中:
$prev_sys='';
而($row=$result\u daily->fetch\u assoc()){
echo“我建议将所有数据提取到一个数组中,然后使用数字键访问前一行。如果没有前一行,则提供空字符串作为默认值
$daily = "SELECT id, weight, sys FROM scale ORDER BY id DESC LIMIT 24";
$result_daily = $conn->query($daily)->fetch_all(MYSQLI_ASSOC);
echo "<table>";
foreach ($result_daily as $key => $row) {
echo "<tr>";
echo "<td>". $row["id"]. "</td><td>" . $row["weight"] . "</td><td>". ($result_daily[$key++]["sys"] ?? ''). "</td>";
echo "</tr>";
}
echo "</table>";
$daily=“按id DESC LIMIT 24从磅秤订单中选择id、重量、系统”;
$result\u daily=$conn->query($daily)->fetch\u all(MYSQLI\u ASSOC);
回声“;
foreach($result\u每日作为$key=>$row){
回声“;
回显“$row[“id”]。$row[“weight”]。”($result_daily[$key++][“sys”]?”);
回声“;
}
回声“;
为什么这些数据实际上是从一个完全不同的行中提取出来的?Sys是系统运行时间,它是从唤醒到睡眠的测量值。因此,这些数据只会在下一次唤醒时上载到sServer,但通过将最后一个元素显示为与其他元素的偏移量,在应用层上更容易容纳,例如,$rows[$i-1][2]
。
$daily = "SELECT id, weight, sys FROM scale ORDER BY id DESC LIMIT 24";
$result_daily = $conn->query($daily);
$s="";
<table>
while($row = $result_daily->fetch_assoc()) {
echo "<tr><<td>". $row["id"]. "</td><td>" . $row["weight"] . "</td><td>". $s. "</td></tr>";
$s = $row["sys"];
}echo "</table>";}?>
$daily = "SELECT id, weight, sys FROM scale ORDER BY id DESC LIMIT 24";
$result_daily = $conn->query($daily)->fetch_all(MYSQLI_ASSOC);
echo "<table>";
foreach ($result_daily as $key => $row) {
echo "<tr>";
echo "<td>". $row["id"]. "</td><td>" . $row["weight"] . "</td><td>". ($result_daily[$key++]["sys"] ?? ''). "</td>";
echo "</tr>";
}
echo "</table>";