PHP随机生成的数字,以显示与随机数对应的匹配名称和ID

时间:2014-06-26 20:39:07

标签: php

如何制作像随机抽奖一样的东西。非常简单,事实上它不应该是长代码。

我只想要一个表格,用户可以点击一个等于1的单选按钮并输入他们的名字。当他们提交$ min = 1(并保持为1)时,$ max = $ max + 1。

让我们说10个人选择单选按钮并点击第一个提交按钮。 $ min = 1表示最低随机数为1.然后将它们的名称放入一个数组中,并且匹配的id对应于变量$ max中的数字(如果提交了5个人,则$ max将为5,并且他们的ID他们提交的第五名也是5。

因此,如果有10个人提交,然后点击下面的另一个提交按钮,则会生成一个随机生成的数字,最小值为$ min,最大为$ max(最后一个提交单选按钮的人)。

如果随机生成的数字为7,则显示提交单选按钮的第7个人(因为他们的id将与随机数匹配)。

我已经学习了2周的PHP,所以我现在不是很好,但是我的代码是这样的......

<form action="POST" name="form">
<input type="text" name="name">
<input type="radio" name="1" value="1">
<input type="submit" name="submit" value="submit">

</form>
<?php

$min = "";
$max = "";

$person = array();

for($_SERVER["REQUEST_METHOD"] == "POST"){
$max = $max + 1;

$person[$max] = $_POST["name"] . ;
$min = 1;
}

?>

<form action="POST" name="random">
<input type="submit" value="submit">
</form>

<?php 
if($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["name"] == "random"){
    $rand=------rand($min,$max);
    if(//TODO) {
       $person[$]
    }
}
?>

有人可以解释一下如何让这项工作好吗?

2 个答案:

答案 0 :(得分:1)

假设您将所有内容存储到MySQL数据库中,检索彩票获胜者的可能解决方案是:

$DB_winner = mysql_query("select name from participants_table_name");
while($win = mysql_fetch_array($DB_winner){
   $winners[] = $win['name'];
}

// and the winner is $the_winer:
$the_winner = $winners[rand(0, sizeof($winners)-1)];

答案 1 :(得分:0)

我打算发表评论,但目前正忙于火车......

您需要学习并了解以下任务

  1. 使用文件(json或csv)保存数据,如果要进一步保存项目,则使用mysql。请参阅任何此类教程

  2. 了解$_POSTissetforforeach等的工作原理以及它们的用途

  3. 我的建议是忽略上述内容并从绝对基础开始。也许可以去w3schools。当你在与乐高斗争时,你正试图建造一座宫殿