mysql相继显示结果

xdyibdwo  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(191)

我想为我们的合唱团建立一个火种风格的存在检查,但不是复杂的。
数据库包含成员图片的名称和文件路径。当你点击“显示”或“不显示”按钮时,下一张图片和名字会显示出来。在后台,数据库表应该更新为true/false以显示状态(稍后再做)
我的问题是,它几乎可以工作,但它不是显示一个成员,而是在一个页面上显示所有成员的图片。
我知道我可以使用javascript继续并暂停php函数,但我不知道该怎么做。
我尝试在php中“break”并再次调用该函数,但没有成功。

<?php
$conn = new mysqli(myServer, myUser, myPass, myDbName);
$sql = "SELECT * FROM mitglieder";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
    echo "<img class='pic' src='" .$row["folder"]. "/" .$row["img"]. "'><br>" ;
    echo "<div id='name'>" .$row["vorname"]. " " .$row["name"]. "</div>    <br>";
    echo "<img src=''img.png' id='present' onclick='isPresent()'>";
}
} else {
echo "0 results";
}
$conn->close();
?>
<html>
<script>
$( document ).ready(function() {
console.log("Ready");
);
</html>`
e0bqpujr

e0bqpujr1#

您需要一种在您的web页面和php后端之间建立“状态”的方法,这样您就可以逐步遍历数据。我建议这样:
对数据库使用自动递增整数主键。这样就可以按索引顺序访问数据。让我们给这列起个名字 id 让你的js代码发送一个表单变量-比如 LAST_ID 到你得到的php。即 http://someurl.com/script.php?LAST_ID=0 第一次调用服务器时,发送最后一个\u id=0
在php代码中,获取如下值:$id=$\u get('last\u id');
将sql查询更改为使用该值获取下一个成员,如下所示: $sql = sprintf("SELECT * FROM mitglieder where id > %d limit 1", $id); 它将从db中获取下一个成员,并且只返回1行(或者在数据末尾不返回任何内容)。
确保将id作为表单数据的一部分返回到页面,然后在下次调用时将last\u id设置为该值。
您可以使用一个带有表单变量的httppost到服务器调用中,该服务器调用设置要呈现的成员id(可能是一个不同的脚本,或者通过post vs get的测试添加到相同的php脚本中)。我建议为id和日期索引的表创建一个子表。
我希望这能让你有个好的方向。祝你好运

z8dt9xmd

z8dt9xmd2#

可以使用php函数
mysqli\u fetch\u all()
在while循环和循环之外的变量上赋值,或者访问代码中的索引。
例如:

$data = mysqli_fetch_all();
echo $data[0]['name'];
foreach($data as $item)
{
  echo $item['name'];
}

相关问题