使用MYSQL数据库数据加载Javascript数组

Ron*_*ony 7 javascript php mysql

假设我有一个javascript数组"userName".我想从名为"user"的数据库表中加载它.

任何人都可以提供想法或示例代码吗?

谢谢

sve*_*ens 5

您必须使用PHP 中的mysql_connect(),mysql_select_db()函数来连接到您的数据库。之后使用mysql_query()SELECT 用户表中的字段(如果您的用户表具有字段名称和 ID,SELECT name, id FROM user)。然后,您可以使用mysql_fetch_assoc()或任何其他 mysql 获取功能从数据库中获取所有信息。现在您需要将echo您的数据导入您网站上的 javascript,格式化为数组。这很难做到正确,但您可以从json_encode.

要使用用户名填充数组,您可以执行以下操作。

<html>
    <head>
    <script type="text/javascript">
        var userName = <?php
            // Connect to MySQL
            //mysql_connect();
            //mysql_select_db();
            $d = mysql_query( "SELECT name, id FROM user" ) or die( mysql_error() );
            $usernames = array();
            while( $r = mysql_fetch_assoc($d) ) {
                $usernames[] = $r['name'];
            }
            echo json_encode( $usernames );
        ?>;
        // Do something with the userName array here
    </script>
    </head>
Run Code Online (Sandbox Code Playgroud)


You*_*sef 4

使用ajax和php作为中间件:

  1. 定义一个空的JS数组:

    var myarray = new Array();

  2. 使用ajax来调用你的php脚本,javascript将通过PHP评估输出(注意这使用原型库):

     new Ajax.Request('myfile.php', {
    
        onSuccess : function(xmlHTTP) {
    
            eval(mlHTTP.responseText);
        }
    
    });
    
    Run Code Online (Sandbox Code Playgroud)
  3. 编写PHP代码来获取数据并打印JS代码(它必须是有效的javscript!):

    $i=0; $q=mysql_query('select ..');
    
    while($row=mysql_fetch_array($q)){               
    
        echo "myarray[".$i."]='".$row['data']."';";
    
        $i++;  
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 您可以检查您的Js数组是否包含数据:

    alert(myarray.length); 
    
    Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.