我有一个函数可以在一定范围内生成13个随机整数,但没有重复。
我不确定下一部分是否正确,但我有一个按钮,$ _POST将发送到我的php脚本,一次从数据库生成 1 图像。我需要它从我的generate_numbers函数发送随机数,所有13个。,因为最后我想显示13个不同的图像,只需点击一下按钮。我该如何处理这个问题?我需要一个队列吗?
**Button to submit to PHP form named display.php**
<input type="submit" name"display" value=generate_numbers()>
var generate_numbers = function()
{
var i, j;
var array=[];
for(i=0; i < 13; i++)
{
array[i] = Math.floor(Math.random()*14)+16);
for(j=0;j<i;j++)
{
while(array[i]==array[j])
{
array[i]= Math.floor(Math.random()*14)+16);
}
}
return array[i];
}
答案 0 :(得分:1)
表格
的页面<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var rndNums = new Array(16,17,18,19,20,21,22,23,24,25,26,27,28);
var generate_numbers = function()
{
for(var i=0; i < 13; i++)
{
var idx = Math.floor(Math.random()*rndNums.length);
var rndNum = rndNums[idx];
rndNums[idx] = rndNums[rndNums.length - 1];
rndNums.pop();
document.getElementsByName("nums[]").item(i).value=rndNum;
}
}
</script>
</head>
<body>
<form id="numberForm" action="display.php" method="POST">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
<input type="hidden" name="nums[]">
</form>
<button onclick="generate_numbers();document.getElementById('numberForm').submit()">submit</button>
</body>
</html>
在php端,“display.php”:
<?php
$nums = $_POST['nums']; // array
foreach($nums as $key => $val)
echo 'nums['.$key.']='.$val."<br>\n";
// ...
?>
答案 1 :(得分:0)
您可以使用php foreach循环遍历每个数字。你的PHP文件中有这样的东西:
$images = array();
foreach ($POST['display'] as $num) {
$img_from_number = get_image_from_number($num);
$images[] = $img_from_number;
}
// code to display images on page
// or for JSON return $images
function get_image_from_number($num)
// code here
}
如果你正在做一个AJAX表单,你可以直接通过返回的数组来在页面上创建图像元素。