【问题标题】:onClick Shuffle button from databaseonClick 数据库中的随机播放按钮
【发布时间】:2014-05-28 02:53:26
【问题描述】:

例如,我有这句话,“我喜欢弹钢琴。”它分为 4 个元素,将从数据库(myphpadmin)中取出。只有当我按下随机播放按钮时,它才会变成这样,然后它就会随机播放。

   <body>
   <?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 onClick="Shuffle()">Scramble</button>

    </body>

【问题讨论】:

    标签: javascript php html button shuffle


    【解决方案1】:

    您基本上需要使用jQuery 来执行此操作。

    利用jQuery.get() 向您的单独 php 脚本运行 ajax 请求。 基本上你会有一个 php 脚本,你的代码设置如下:

    我们称之为sentence.php

    <?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();
    ?>
    

    现在你有了你的 html 文件,我们称之为index.html

    <html>
        <head>
            <script src="https://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
            <script src="script.js" type="text/javascript"></script>
        </head>
    
        <body>
            <button id="showcontent">Scramble</button>
            <div id="content"></div>
        </body>
    
    </html>
    

    在您的 script.js 中,您将运行您的 jQuery。

    $(document).ready(function() {
    
        $(document).on('click', '#showcontent', function(event) {
            event.preventDefault();
    
            $.get("sentence.php", function(data) {
                $("div#content").html(data);
            });
        });
    
    });
    

    【讨论】:

    • 我试过了,但是数组没有出现在 html 页面上。只有随机播放按钮。
    • @user3678617 您是否修改了脚本以链接到您的实际文件?检查 Web 开发者工具控制台,看看那里是否有任何错误...
    • 未发现错误,我已修改脚本以链接到 html 文件。但是句子没有出现接受随机播放按钮。
    • @user3678617 查看您的网络选项卡,看到 ajax 请求正在发送?
    猜你喜欢
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    相关资源
    最近更新 更多