问题描述
假设我的数据库中有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张纸,您一次要画一张纸,然后将这些纸放在桌子上以显示画的是我想要的。
1楼
作为对我的建议(建议您使用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浏览器中运行。