如果最后一个值不同,如何在循环内分离结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果最后一个值不同,如何在循环内分离结果相关的知识,希望对你有一定的参考价值。
我希望从我的表中回显所有值,并在与最后一个值不同时分开。比如说
table
a
a
b
c
c
result
<div>
a
a
</div>
<div>
b
</div>
<div>
c
c
</div>
目前我正在将最后一个回波值编译为当前值,但问题是其中一个值是else语句中的echo,这导致计算相同值的困难。为了清楚我正在从db中获取值,如果值更改它与最后一个值不匹配但我仍然需要它来回显它,否则将跳过此值。我需要改进我的代码,以便在一个回显中显示所有相同的值。我希望你明白我的意思。
$sql = "select * from bet_slip";
$result = mysqli_query( $conn, $sql );
if ($result->num_rows > 0) {
$sql1 = "select * from bet_slip";
$result1 = mysqli_query( $conn, $sql1 );
$row1 = $result1->fetch_assoc();
$last = $row1["bet_id"];
echo "<div class='jed'>";
while($row = $result->fetch_assoc()) {
$prev = $row["bet_id"];
if($row["bet_id"] == $prev){
if($prev == $last)
{
//let's say now value change to c so it will be echo inside else and next c will be echo here
echo $row["bet"]."</br>";
}
else
{
echo "</div><div class='trig'></div></br><div class='jed'>else".$row["bet"]."</br>";
}
}
$last = $row["bet_id"]
}
}
答案
我想你可能试图使问题复杂化,除非我误解了你的问题。
$sql = "select * from bet_slip";
$result = mysqli_query( $conn, $sql );
$prev = NULL;
while($row = $result->fetch_assoc()) {
if($row["bet_id"] != $prev) {
if ( $prev == NULL) {
echo "<div class='jed'>";
} else {
echo "</div><div class='jed'>";
}
$prev = $row["bet_id"];
}
echo $row["bet"]."</br>";
}
echo "</div>";
以上是关于如果最后一个值不同,如何在循环内分离结果的主要内容,如果未能解决你的问题,请参考以下文章