Php 将MYSQL查询数据与jQuery自动完成一起使用
我正在尝试使用MYSQL查询数据, 然后用jQuery的Autocomplete将它链接到一个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
我还不习惯在Javascript中使用PHP,所以我不知道如何获取内容
在数组中。当每个Iconsole.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, [] ]
};