0

私はこのコードを持っています

    $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'];
    }

しかし、ページがリロードされるたびに、別の番号が表示されます。ランダムな値を一度だけ取得し、その値を必要な限り変更しないようにする方法は?

4

4 に答える 4

1

それが永遠に残るためには、おそらく勝者をデータベースに保存する必要があります。

$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);
    }
于 2013-09-03T11:33:27.640 に答える