因此,基本上,如果您的数据库中有一个表,如下所示:
id ::姓名::号码
1::杰克:4
2:卡特里娜:2
3: Clyde :8
我希望循环遍历number列,将数字相加,直到达到某个数字输入,然后回显一行,其中的数字已加到一起。因此,如果您的输入为3,它将输出带有Jack的行,如果输入为5或6,它将输出Katrina,如果输入为7-14,它将用clyde输出该行。
这里我不明白的是,我如何循环遍历numbers列,将数字加起来,直到您到达特定的行为止,然后只回显该特定行。
我知道如何回显所有行并为输入字段创建条件,但我似乎无法掌握如何更进一步。
$sql = "SELECT medlemsid, navn, lotterinr, tid FROM medlemmer";
$result = $con->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "| id: " . $row["medlemsid"]. " | - Name: " . $row["navn"]. " " ." | Lotterinr " . $row["lotterinr"]. " | Tid: ". $row["tid"]. "<br>";
}
} else {
echo "0 results";
}
if (isset($_POST['numberinput'])) {
$numbers = $_POST['numberinput'];
}
$con->close();
?>
<div id="udlodning-wrapper">
<form name="login-form" class="login-form" method="post">
<div>
<input name="numberinput" type="number" id="numberinput" placeholder="Lotterinummer" />
</div>
<div>
<input type="submit" name="submit" value="Udlodning" id="udlodning-submit" class="button-input"/><br/>
</div>
</form>
</div>发布于 2015-02-16 22:01:31
使用自联接求出id等于或小于当前人的人数之和
select
p1.id,
p1.name,
p1.number,
sum(p2.number) as sum
from people p1
join people p2 on p2.id <= p1.id
group by p1.id, p1.name, p1.number;上面的SQL将产生如下结果:
id name number sum
1 jack 4 4
2 katrina 2 6
3 clyde 8 14然后,您可以迭代结果,检查输入的和。
https://stackoverflow.com/questions/28550974
复制相似问题