有序列表,随机数在1到49之间

时间:2016-08-18 07:51:26

标签: javascript php

我在编写一个简单的PHP有序列表时遇到了一些问题,该列表打印出1到49之间的随机数列表。

主要代码

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>AJAX</title>
<meta name="viewport" content=
"width=device-width; initial-scale=1.0">
<link rel="stylesheet" type="text/css"
href="lib/css/stil.css" />
<script type="text/javascript"
src="lib/js/script.js"></script>
</head>
<body>
<h1>Ziehung der Lottozahlen</h1>
<button id="frage">Starte die Ziehung</button>
<div id="antwort">
</div>
</body>
</html>

这里是外部PHP代码随机化数字

<?php
$zahlen = range (1, 49);
shuffle($zahlen);
for ($i = 0; $i < 6; $i++) {
echo $zahlen[$i] . " ";
 }
?>

这里是Java脚本

var resOb = new XMLHttpRequest();
window.onload = function() {
document.getElementById("frage").onclick = 
function () {
    resOb.open('get', 'lottozahlen1.php', true);
    resOb.onreadystatechange = function () {
        if (resOb.readyState == 4) {
            document.getElementById("antwort").innerHTML = 
            resOb.responseText;
}
    };
    resOb.send(null);
};
};

Ť 现在我的问题......我怎么能让数字显示在有序列表中?

3 个答案:

答案 0 :(得分:2)

使用PHP代码

$zahlen = range (1, 49);
shuffle($zahlen);
$arr = array();
for ($i = 0; $i < 6; $i++) {
$arr[$i] =$zahlen[$i] . " ";
 }
 sort($arr,1);
echo implode(' ',$arr);

答案 1 :(得分:1)

您可以拆分字符串,将值映射为数字并对数组进行排序。然后生成所需的列表项并将其放入所需的无序列表。

&#13;
&#13;
var lotto = '22 34 14 10 99',
    list = lotto
        .split(' ')
//        .map(Number)
//        .sort(function (a, b) {
//            return a - b;
//        })
        .reduce(function (list, a) {
            var li = document.createElement('li');
            li.innerHTML = a;
            list.appendChild(li);
            return list;
        }, document.createElement('ol'));

document.body.appendChild(list);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

扩展Kool-Mind's answer

$zahlen = range (1, 49);
shuffle($zahlen);
$arr = array();
for ($i = 0; $i < 6; $i++) {
  $arr[$i] =$zahlen[$i] . " ";
}
sort($arr,1);
echo implode(' ',$arr);

尝试添加以下代码(生成列表):

<script>
  $('#button').click(function(){
    $('#newDiv').append('<ol>');
    $('#newDiv').append('<?php foreach($arr as $a){echo"<li>".$a."";}?>');
    $('#newDiv').append('</ol>');
  })
</script>

希望有帮助=)

<强> 修改

这应该工作正常,希望它有帮助=)

<button id="button">Button</button>
<div id="newDiv"></div>

<script>
  var clicked = false;
  $('#button').click(function(){
    if (!clicked){
      <?php
      $arr = array();
      for ($i = 0; $i < 6; $i++) {
        $arr[$i] = rand(1,49);
      }
      sort($arr,1);
    ?>
    $('#newDiv').append('<ol>');
    $('#newDiv').append('<?php foreach($arr as $a){echo"<li>".$a."";}?>');
    $('#newDiv').append('</ol>');
    clicked = true;
   }
  })
</script>