php mysql逐个显示结果

时间:2018-12-26 21:26:37

标签: php mysql

我想以火种的形式为我们的合唱团制作一个在场检查,但不那么复杂。

数据库包含成员图片的名称和文件路径。当您单击“存在”或“不存在”按钮时,应显示下一张图片和名称。在后台,应将数据库表更新为true / false以进行显示。 (这将在以后完成)

我的问题是它几乎可以工作,但是与其显示一个成员,不如将所有成员及其图片显示在一个页面中。

我了解我可以使用Javascript来继续和暂停php函数,但我不知道如何使用。

我尝试在php中“中断”并再次调用该函数,但这没用。

<?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>`

2 个答案:

答案 0 :(得分:1)

您可以使用php函数

  

mysqli_fetch_all()

在while循环之外的变量上分配它,并循环或访问代码中的索引。

例如:

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

答案 1 :(得分:1)

您需要一种在网页和PHP后端之间建立“状态”的方法,以便您可以逐步浏览数据。我建议这样:

对数据库使用自动递增的整数主键。这样,您可以按索引顺序访问数据。我们将列命名为driver.actions().doubleClick(el).perform();

让您的JS代码发送一个表单变量-命名为id到PHP即可。即LAST_ID

在您第一次拨打服务器时,发送LAST_ID = 0

在您的PHP代码中,按如下方式获取值:$ id = $ _GET('LAST_ID');

更改您的SQL查询以使用该值来获取下一个成员,如下所示: http://someurl.com/script.php?LAST_ID=0将从数据库中获取下一个成员,并且仅返回1行(或在数据末尾不返回任何内容)。

确保将ID作为表单数据的一部分返回给页面,然后在下一次调用时将LAST_ID设置为该值。

您可以对服务器调用使用带有表单变量的HTTP POST,该服务器调用将设置要显示的成员ID(可以是不同的脚本,也可以通过POST与GET的测试添加到同一PHP脚本中)。我建议为该子表建立ID和日期索引。

我希望这可以为您指明方向。祝你好运