单击按钮后,从数据库中随机播放元素

时间:2014-05-30 06:00:43

标签: javascript php shuffle scramble

我在下面完成的代码是,每次刷新页面时,它只会对元素进行洗牌。例如:'我演奏钢琴'。我希望它是'我弹钢琴',只有当我点击'争夺'按钮时,它才会随机播放。

thirdChineseSentence.php

 <!DOCTYPE html>
 <html>
 <head>
 <meta charset="UTF-8" />
 <title>Sentence Scramble and Sequencer</title>
 <link rel="stylesheet" type="text/css" href="Second.css" />
 <script src="https://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript">       
 </script>
 <script src="chinesesentence.js" type="text/javascript"></script>

 </head>

 <body>
 <center>
 <img src = "http://imageshack.com/a/img842/1461/otd4.jpg"/>
 <h1>Hello world</h1>


 <?php
 // Connect to database server
 mysql_connect("localhost", "root", "password") or die (mysql_error ());

 // Select database
 mysql_select_db("login") or die(mysql_error());

// Get data from the database depending on the value of the id in the URL
$strSQL = "SELECT * FROM sentences WHERE id 
ORDER BY RAND() LIMIT 1;";

//create an array with numbers 1-4
$order = array(1,2,3,4);

//shuffle them in random order
shuffle($order);

 $rs = mysql_query($strSQL);

// Loop the recordset $rs
while($row = mysql_fetch_array($rs)) {
// Write the data of the person
//Display all the array values from 0-3 (array index starts from 0)
echo "<dt>Sentence:</dt><dd>" . $row[$order[0]] . " " . $row[$order[1]] . " " .  
$row[$order[2]] . " " . $row[$order[3]] ."</dd>";
}
// Close the database connection
mysql_close();
?>

<button id="showcontent">Scramble</button>
<div id="content"></div>
</center>

</body>
</html>

chinesesentence.js

 $(document).ready(function() {

 $('#showcontent').click( function(e) {
 e.preventDefault();

 url = 'thirdChineseSentence.php';
    $.ajax({
        type: 'POST',
        url: url, 
        dataType: 'html',

        beforeSend: function() {
                $( "#content" ).html( "Requesting.." );
        },
        success: function(html) {
                document.getElementById("content").innerHTML=html;
        }
    });

    });

  }

2 个答案:

答案 0 :(得分:0)

thirdChineseSentence.php可能已被浏览器缓存。设置正确的http标头以使其不被缓存或添加随机参数(例如thirdChineseSentence.php?dummy=42567499823)以使其每次都刷新。

答案 1 :(得分:0)

您正在向自己发送ajax请求(thirdChineseSentence.php)。

所以首先从thirdChineseSentence.php剪切你的php代码并粘贴新的php文件(server.php)。

现在将您的chinesesentence.js更改为此

$(document).ready(function() {

 var url = 'server.php';
 $.ajax({
    type: 'POST',
    url: url, 
    dataType: 'html',

    beforeSend: function() {
        $( "#content" ).html( "Requesting.." );
    },
    success: function(html) {
        document.getElementById("content").innerHTML=html;
    }
 });

 $('#showcontent').click( function(e) {
     // randomize your code locally here no need to send server request
});

}