dosc9472 2013-09-03 11:26
浏览 65
已采纳

仅从数据库中选择一次随机条目

I have this code

    $query1 = "SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `participanti`";
    $offset_result = mysqli_query($connect,$query1);
    $offset_row = mysqli_fetch_object( $offset_result ); 
    $offset = $offset_row->offset;
    $query2 = "SELECT * FROM `participanti` LIMIT $offset, 1";
    $result = mysqli_query($connect,$query2);

    while( $row = mysqli_fetch_assoc($result) ){
        $winner = $row['id'];
    }

But every time the page is reloaded I get a different number. How to get a random value only once and that value to remain unchanged as long as I want?

  • 写回答

4条回答 默认 最新

  • dongli8722 2013-09-03 11:33
    关注

    for it to stay forever, you will most probably need to store the winner in a database eg:

    $query1 = "SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM `participanti`";
        $offset_result = mysqli_query($connect,$query1);
        $offset_row = mysqli_fetch_object( $offset_result ); 
        $offset = $offset_row->offset;
        $query2 = "SELECT * FROM `participanti` LIMIT $offset, 1";
        $result = mysqli_query($connect,$query2);
    
        while( $row = mysqli_fetch_assoc($result) ){
            $winner = $row['id'];
            $insert = "INSERT INTO `winners`('winner_id') VALUES('".$winner."')";
            $save = mysqli_query($connect,$insert);
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)