我正在尝试将jQuery函数插入到连接到MySQL数据库的Wordpress页面中,该数据库返回表单中自动完成文本输入的大量项目列表。它不起作用。
这是我在我正在使用的主题的文件结构中创建的js文件夹中的自己的.js文件中的函数:
jQuery(document).ready(function($) {
$(
var availableTags = [
<?php
$dbh=mysql_connect ("localhost", "db_name", "db_name") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("db_name") or ("Database not found");
$query = "SELECT col FROM table";
$result = mysql_query($query) or die ( $result."<br/><br/>".mysql_error());
while ($row = mysql_fetch_array($result)) {
echo "\"". $row['col']."\", ";
}
// $result = mysql_query($query) or die ( $result."<br/><br/>".mysql_error());
mysql_close($connect);
?>
];
$( "#id" ).autocomplete({
source: availableTags
});
)});
这些是外部链接:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
这是我在主题的functions.php文件中插入的内容:
add_action( 'wp_enqueue_scripts', 'add_my_script' , 11 );
function add_my_script() {
wp_enqueue_script(
'function_name',
get_template_directory_uri() . '/js/function_name.js',
array('jquery'),
'1.0',
true
);
}
答案 0 :(得分:0)
您无法将php
代码运行到javascript文件中。所以你应该做什么:
你应该使用ajax,首先要了解如何在wordpress中使用ajax。参考示例:http://www.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/
Wordpress已经有数据库连接,你不应该重新连接。只是你会问问题。这是类引用如何在wordpress中查询和查询相关的其他内容:http://codex.wordpress.org/Class_Reference/wpdb
您已提及输入字段中的自动填充功能,因此您应将onkeyup
,onkeypress
类似事件用于js代码段。
但是,您应该分别学习整体事物,然后按照您的期望执行。
答案 1 :(得分:0)
global $wpdb;
$results = $wpdb->get_results( "SELECT col FROM table");
foreach ($results as $tableResult)
{
echo $tableResult->col;
}