无限循环显示迭代数据库条目



我有php代码,从数据库中获取和显示条目。我需要在它们移动时显示它们,直到发生某事/按下按钮等。/

类似这样- http://jsfiddle.net/ZDsMa/1/

这是我的代码

<?php
$winners = [];
$conn = mysqli_connect("localhost", "admin", "admin", "lottary");
$sql = "SELECT * FROM users ORDER BY RAND() ";
$result = $conn->query($sql);
while ( $row = $result->fetch_assoc()) {
    $id = $row['id'];
    $firstname = $row['first_name'];
    $lastName = $row['last_name'];
    $points = $row['point'];
    $all =$id.' '.$firstname. ' '.$lastName. ' '.$points;

    ?>
    <input class="form-control" size="40" name="id" type="text" value="<?php echo $all; ?>">
<?php }
$conn->close();
?>

这是一个jquery脚本,打乱数据库条目,与停止/开始按钮

<div class="demo">
     <div id="roll"></div><input type="hidden" id="mid" value="">
     <p><input type="button" class="btn" id="start" value="Start"> <input type="button" class="btn" id="stop" value="Stop"></p>
     <div id="result"></div>
  </div>

start_btn.click(function(){
        $.getJSON('data.php',function(json){
            if(json){
                //var obj = eval(json);//By eval () function can be converted into JSON string object
                var len = json.length;
                _gogo = setInterval(function(){
                    var num = Math.floor(Math.random()*len);
                    //var id = obj[num]['id'];
                    var id = json[num].id;
                    //var v = obj[num]['mobile'];
                    var v = json[num].mobile;
                    $("#roll").html(v);
                    $("#mid").val(id);
                },100);
                stop_btn.show();
                start_btn.hide();
            }else{
                $("#roll").html('System can not find the data source, first import the data.');
            }
        });
        //_gogo = setInterval(show_number,100);
    });});
stop_btn.click(function(){ 
        clearInterval(_gogo); 
        var mid = $("#mid").val(); 
        $.post("data.php?action=ok",{id:mid},function(msg){ 
            if(msg==1){ 
                var mobile = $("#roll").html(); 
                $("#result").append("<p>"+mobile+"</p>"); 
            } 
            stop_btn.hide(); 
            start_btn.show(); 
        }); 
    }); 

试试下面的代码:也许行得通将while替换为foreach

<?php
$conn = new mysqli("localhost", "admin", "admin", "lottary");
$sql = "SELECT * FROM `users` ORDER BY RAND()";
$result = $conn->query($sql);
$fetch = $result->fetch_array();
foreach($fetch as $row) {
    $id = $row['id'];
    $firstname = $row['first_name'];
    $lastName = $row['last_name'];
    $points = $row['point'];
    $all = $id.' '.$firstname. ' '.$lastName. ' '.$points;
    ?>
    <input class="form-control" size="40" name="id" type="text" value="<?php echo $all; ?>">
<?php 
}
$conn->close();
?>

最新更新