Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysqli和rand()_Php_Random_Mysqli - Fatal编程技术网

Php 使用mysqli和rand()

Php 使用mysqli和rand(),php,random,mysqli,Php,Random,Mysqli,尝试创建一个页面,用户可以创建一个带有底色、一个标记和眼睛颜色的角色。这三个描述都存储在单独的表中,并随机调用。我想限制它们被调用的次数,这样用户在找到他们喜欢的组合之前不能全部运行它们 <?php if(!isset($_SESSION['count'])) $_SESSION['count'] = 0; if($_SESSION['count'] < 5) { $_SESSION['count']++; $query = $mysqli->que

尝试创建一个页面,用户可以创建一个带有底色、一个标记和眼睛颜色的角色。这三个描述都存储在单独的表中,并随机调用。我想限制它们被调用的次数,这样用户在找到他们喜欢的组合之前不能全部运行它们

<?php
if(!isset($_SESSION['count']))
    $_SESSION['count'] = 0;

if($_SESSION['count'] < 5) {
    $_SESSION['count']++;

    $query = $mysqli->query("SELECT `base` FROM `bases` WHERE `type` = 'Starter' ORDER BY rand()");
    while($info = $query->fetch_assoc()) {
        $_SESSION['refreshresultbase'] = $info['base']; 
    }

    $querymark = $mysqli->query("SELECT `marking` FROM `markings` WHERE `type` = 'Starter' ORDER BY rand()");
    while($infomark = $querymark->fetch_assoc()) {
        $_SESSION['refreshresultmarking'] = $infomark['marking']; 
    }

    $query3 = $mysqli->query("SELECT `colour` FROM `eyes` WHERE `type` = 'Starter' ORDER BY rand()");
    while($infoeye = $query3->fetch_assoc()) {
        $_SESSION['refreshresulteyes'] = $infoeye['colour'];  
    }
}
?>

记录第一个“随机”选择,然后不要让用户更改。并且不要在超过几十行的表上使用
按兰德排序()
,否则您的性能将急剧下降。不确定“记录第一个随机选择”是什么意思,我知道按兰德排序()可能会很慢,但幸运的是我不应该有很多行。检查是否设置了$\u会话['refreshresultmarking'],如果设置了,他们已经选择了一个(随机),所以不要让他们再次选择。当您将用户限制为“3个随机”组合时,提供“选项”的“意义”是什么?