基于复选框的随机数间隔

时间:2019-07-15 18:59:38

标签: php laravel

我是Laravel和php的新手。在生成随机数方面需要一些帮助。

  • 如果选中复选框1(exercise_choice_10),则将生成1-10之间的随机数。
  • 如果选中复选框2(exercise_choice_20),则将生成11-20之间的随机数。
  • 如果选中复选框3(exercise_choice_30),则应生成21-30之间的随机数。
<input type="checkbox" name="exercise_choice_10" value="10" {{ app('request')->input('exercise_choice_10') ? 'checked' : '' }}> Type 1</input></BR>
<input type="checkbox" name="exercise_choice_20" value="20" {{ app('request')->input('exercise_choice_20') ? 'checked' : '' }}> Type 2</input></BR>
<input type="checkbox" name="exercise_choice_30" value="30" {{ app('request')->input('exercise_choice_30') ? 'checked' : '' }}> Type 3</input></BR>
<form action="{{ route('exam.robot', ['course' => $course]) }}" method="post">
    @csrf
    <input type="checkbox" name="exercise_choice_10" value="10" {{ app('request')->input('exercise_choice_10') ? 'checked' : '' }}> Type 1</input></BR>
    <input type="checkbox" name="exercise_choice_20" value="20" {{ app('request')->input('exercise_choice_20') ? 'checked' : '' }}> Type 2</input></BR>
    <input type="checkbox" name="exercise_choice_30" value="30" {{ app('request')->input('exercise_choice_30') ? 'checked' : '' }}> Type 3</input></BR>
    </BR>
    <button class="button">Submit</button>
    </BR>
    </BR>
    {{ $random }}
</form>

2 个答案:

答案 0 :(得分:1)

在您的控制器中,您可以检查该复选框是否已选中,并使用该复选框中的value。从您的示例中我们知道,范围将在$value - 9$value之间。

我们可以使用rand($min, $max)来获得随机值。

if ($request->has("exercise_choice_10")) {
    $value = $request->input("exercise_choice_10");
    $randomValue = rand($value-9, $value);
}

对其他复选框重复相同的操作,并将$randomValue返回到您的视图。

请记住,通过使用复选框,可以在任何给定时间选中所有3个-因此,您可能需要使用单选按钮(每个名称只能选中一个)。

答案 1 :(得分:0)

谢谢您的答复Qirel :) 此解决方案(请参阅下文)仅适用于单选按钮。使用复选框时,最后选中的复选框将覆盖其余复选框。因此,我仍在研究复选框解决方案。

if ($request->input('exercise_choice_10')) {
    $value = $request->input("exercise_choice_10");
    $random = rand($value-9, $value);
}
else {
}
if ($request->input('exercise_choice_20')) {
    $value = $request->input("exercise_choice_20");
    $random = rand($value-9, $value);
}
else {
}

if ($request->input('exercise_choice_30')) {
    $value = $request->input("exercise_choice_30");
    $random = rand($value-9, $value);
}
else {
}