当前位置: 代码迷 >> JavaScript >> 如何获得PHP随机播放结果以在整个随机播放中一次显示一个结果
  详细解决方案

如何获得PHP随机播放结果以在整个随机播放中一次显示一个结果

热度:23   发布时间:2023-06-12 13:39:57.0

假设我的数据库中有10个项目要改组,我该如何更改我的当前代码,以便每次它从数据库中提取一个名称时都显示一次,而不是一次显示?

$con = mysqli_connect("XXX", "XXX", "XXX", "XXX");
$query = mysqli_query($con, "SELECT * FROM users WHERE `group` = 3");

echo 'Normal results: <br>';
$array = array();
while ($row = mysqli_fetch_assoc($query)) {
    $array[] = $row;
    echo $row['firstname'] . ' ' . $row['lastname'] . '<br>';
}
?>
<form method="post">
    <input type="submit" value="Shuffle" name="shuffle">
</form>
<?php
if (isset($_POST['shuffle'])) {
    shuffle($array);
    echo 'Shuffled results: <br>';
    foreach ($array as $result) {
    $shuffle_firstname = $result['firstname'];
    $shuffle_lastname = $result['lastname'];
?>

<div id="shuffle_results">
        <?php echo $shuffle_firstname . ' ' . $shuffle_lastname . '<br>';?>
</div>
 <?php   }
}

//我添加的内容,这也是我添加的位置

$get_shuffle = array($array);
$shuffle_one = array_pop($get_shuffle);
print_r($get_shuffle);
?>

我希望他们所有人都一展身手。.我只希望他们一次全部出来。 假设一个袋子里有10张纸,您一次要画一张纸,然后将这些纸放在桌子上以显示画的是我想要的。

作为对我的建议(建议您使用JavaScript而不是PHP进行动画)的补充,这是一种基本方法。 (此代码假定页面上有jQuery)。

注意:我尚未测试此代码,可能存在一两个错误,但是希望您能大致了解。

您的HTML

<div id="shuffle_results"></div>
<form onsubmit="getData()">
    <input type="submit" value="Shuffle" name="shuffle">
</form>

您的PHP

$con = mysqli_connect("localhost", "root", "", "db");
$query = mysqli_query($con, "SELECT * FROM users WHERE `group` = 3");

$array = array();
while ($row = mysqli_fetch_assoc($query)) {
    array_push($array, $row);
}

header('Content-Type: application/json');
echo json_encode($array);

您的JavaScript

function getData() {
  $.ajax({
    url: 'url to PHP script',
    dataType: 'json',
    success: function(data) {
      for(var i = 0, l = data.length; i < l; ++i) {
        window.setTimeout(addResult, 2000, data[i].firstname, data[i].lastname);
      }
    },
    error: function(jqXHR, textStatus, error) {
      alert('Connection to script failed.\n\n' + textStatus + '\n\n' + error);
    }
  });
}

function addResult(firstname, lastname) {
  $('#shuffle_results').append("<p>" + firstname + " " + lastname + "</p>");
}

这里的基本思想是,您不应该使用PHP进行DOM操作。 PHP可以将数据加载到您的网页中(该数据可以是DOM元素,我所显示的JSON数据或其他类型的数据),但是一旦使用,则应使用JavaScript与之交互。 回想一下,PHP在服务器上运行,而JavaScript(传统上)在客户端的Web浏览器中运行。

  相关解决方案