Php 将MYSQL查询数据与jQuery自动完成一起使用

Php 将MYSQL查询数据与jQuery自动完成一起使用,php,jquery,mysql,autocomplete,phpmyadmin,Php,Jquery,Mysql,Autocomplete,Phpmyadmin,我正在尝试使用MYSQL查询数据, 然后用jQuery的Autocomplete将它链接到一个 我还不习惯在Javascript中使用PHP,所以我不知道如何获取内容 在数组中。当每个Iconsole.logmyphp进行调试时,它会显示Array 以下是我的JS代码: var SOMETHING = ["<?php echo $SOMETHING; ?>"]; //console.log(SOMETHING); $( "#input_add_album" ).autocomplet

我正在尝试使用MYSQL查询数据, 然后用jQuery的Autocomplete将它链接到一个

我还不习惯在Javascript中使用PHP,所以我不知道如何获取内容 在数组中。当每个I
console.log
myphp进行调试时,它会显示
Array

以下是我的JS代码:

var SOMETHING = ["<?php echo $SOMETHING; ?>"];
//console.log(SOMETHING);
$( "#input_add_album" ).autocomplete({
  source: SOMETHING
});

这个问题由来已久,但我将讨论两种最可能的解决方案。您遇到的问题是,您试图回显数组以查看其内容,但这是不可能的。JavaScript解释器也无法解释PHP。PHP在主机上处理.PHP文件,然后将它们提供给客户机。客户端不应该看到任何PHP,它不知道如何处理它。因此,从服务器运行PHP文件后的最终结果必须是格式良好的文档,以符合浏览器可以处理的文件类型的指导原则,在本例中为html和JavaScript。因此,为了使用JavaScript将PHP变量的内容记录到控制台,它必须采用JavaScript可以理解的格式。幸运的是,有一种JavaScript可以理解的格式,大多数其他语言都支持这种格式。将任何字符串、数字、数组或关联数组移动到JS的方法是使用JSON。JavaScript对象表示法。请记住,PHP中的关联数组会变成JavaScript中的对象

$regular_array = json_encode(array( 'words', 'to', 'send' ));
$php_assoc = json_encode(array(
    'assoc'   => 'arrays',
    'become'  => 'JavaScript',
    'objects' => array(
        'this','will','be',1,array()
    ),
));
echo "
    <script>
        /** Check that window.console.logs isn't undefined, if we were just
         * using JavaScript I wouldn't be so verbose. Since our PHP variable is
         * traveling so far from home, I want to make sure we get the right address
         */
        if (window && 'console' in window ) {
            window.console.log({$regular_array});
            window.console.log('JS object with array inside', {$php_assoc});
        }
    </script>";
var regularArray = [ 'words', 'to', 'send' ];

var phpAssoc = {
    assoc   : 'arrays',
    become  : 'JavaScript',
    objects : [ 'this', 'will', 'be', 1, [] ]
};
在GoogleChrome中,phpAssoc对象在控制台中看起来像这样。它可以像任何其他JavaScript对象一样完全扩展、查看和使用

Object{assoc:“Array”,变成:“JavaScript”,objects:Array[5]}


*在本例中,我没有将PHP输出保存到JavaScript变量中,但是您可以看到如何将值注入console.log,以便您可以使用
echo“var something={$some_other_thing};”执行相同的操作

如果PHP中有一些函数“打印有关变量的可读信息”或“转储有关变量的信息”,那就太好了。这样您就可以看到数组的内容,而不仅仅是变量是数组。可能是将该函数的输出捕获为字符串,然后传递到console.log。
var regularArray = [ 'words', 'to', 'send' ];

var phpAssoc = {
    assoc   : 'arrays',
    become  : 'JavaScript',
    objects : [ 'this', 'will', 'be', 1, [] ]
};