Javascript 带有jquery的PHP函数按类动态随机插入记录
我创建了下面的函数来显示具有随机名称的块。创建另一个数组,然后抓取更多记录,并使用fadeIn、fadeOut效果按类名将它们随机插入标记中。除了剧本之外,所有的作品实际上都是在李的作品中注入了“新名字”Javascript 带有jquery的PHP函数按类动态随机插入记录,javascript,php,jquery,Javascript,Php,Jquery,我创建了下面的函数来显示具有随机名称的块。创建另一个数组,然后抓取更多记录,并使用fadeIn、fadeOut效果按类名将它们随机插入标记中。除了剧本之外,所有的作品实际上都是在李的作品中注入了“新名字” function query_in_memoriam() { /*authentication call hidden */ $query = "SELECT formatted_name FROM xxxx WHERE xxxx = 'xxxx' ORDER BY RAND(las
function query_in_memoriam() {
/*authentication call hidden */
$query = "SELECT formatted_name FROM xxxx WHERE xxxx = 'xxxx' ORDER BY RAND(last_name) LIMIT 30";
$result = mysqli_query($link, $query);
$i = 0;
$buildMemoriam = "";
while ($i < 20){
$result_array = mysqli_fetch_array($result);
$buildMemoriam .= '<li class="name">'.$result_array['formatted_name'].'</li>';
$i++;
}
$buildMemoriamDisplay = '<div id="memoriam" class="row bg-standard">
<h2>In Memoriam </h2>
<p>In progress, randomizes on refresh, just need to fade in/out names. JA 8/31</p>
<div id="memoriam-container">
<ul class="memoriam-items">
' . $buildMemoriam . '
</ul>
</div>
</div>';
$i = 21;
$array = "";
while ($i < 30 ){
$result_array = mysqli_fetch_array($result);
$array = '"'.$result_array['formatted_name'].'",';
$i++;
}
?>
<script>
jQuery(document).ready(function( $ ) {
var names = [<?php json_encode($array); ?> ];
var lis = document.getElementsByClassName('name');
window.setInterval(function changeNameRandomly() {
var randomNamesIndex = Math.floor(Math.random() * names.length);
var randomLiIndex = Math.floor(Math.random() * lis.length);
var randomName = "";
$(lis[randomLiIndex]).fadeOut("slow", function() {
randomName = names[randomNamesIndex];
var addit = true;
$(".name").each(function()
{
if ( $(this).text() == randomName ) {
// console.log("Duplicate: looking again");
addit = false;
$(lis[randomLiIndex]).fadeIn();
}
});
if(addit) {
$(lis[randomLiIndex]).html(randomName);
// console.log(randomName);
$(lis[randomLiIndex]).fadeIn();
}
}.bind(this));
}, 2000);
});
</script>
<?php
return $buildMemoriamDisplay;
}
你不是在制作数组,而是在制作字符串。。。每次都要更换。这里是更新的代码
$array = array();
while ($i < 30 ){
$result_array = mysqli_fetch_array($result);
$array[] = $result_array['formatted_name'];
$i++;
}
还有这个
var names = <?php echo json_encode($array); ?>;
你不是在制作数组,而是在制作字符串。。。每次都要更换。这里是更新的代码
$array = array();
while ($i < 30 ){
$result_array = mysqli_fetch_array($result);
$array[] = $result_array['formatted_name'];
$i++;
}
还有这个
var names = <?php echo json_encode($array); ?>;