我已经在我的网站上为我的用户创建了一个标记输入,为此,我使用下拉帮助编写了一个标记函数。所以我的问题是,我想从JavaScript文件中的数据库中获取数据 的的js
var FormSamples = function () {
return {
//main function to initiate the module
init: function () {
// use select2 dropdown instead of chosen as select2 works fine with bootstrap on responsive layouts.
$('.select2_category').select2({
placeholder: "Select an option",
allowClear: true
});
$('.select2_sample1').select2({
placeholder: "Select a State",
allowClear: true
});
$(".select2_sample2").select2({
placeholder: "Type to select an option",
allowClear: true,
minimumInputLength: 1,
query: function (query) {
var data = {
results: []
}, i, j, s;
for (i = 1; i < 5; i++) {
s = "";
for (j = 0; j < i; j++) {
s = s + query.term;
}
data.results.push({
id: query.term + i,
text: s
});
}
query.callback(data);
}
});
function format(item) {
opt = $(item.element);
sel = opt.text();
og = opt.closest('optgroup').attr('label');
return og+' | '+item.text;
}
$("select").select2({
formatSelection: format,
escapeMarkup: function(m) { return m; }
});
$(".select2_sample3").select2({
tags: ['Karachi','Lahore']
});
}
};
}();
在JS
文件的末尾,您会看到:
$(".select2_sample3").select2({
tags: ['Karachi','Lahore']
});
而不是&#34;卡拉奇&#34;,&#34;拉合尔&#34;我想从数据库中获取标签。
我正在获取这样的数据:
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "SELECT * FROM tags";
$result = mysqli_query($conn, $sql);
mysqli_query ($conn,"set character_set_results='utf8'");
$row = mysqli_fetch_assoc($result);
任何正文请帮助我,我如何通过PHP获取JS中的数据。
答案 0 :(得分:0)
你可以在php中使用json_encode:
$ar = array('Karachi','Lahore');
echo json_encode($ar);
并在javascript中:
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var ar = <?php echo json_encode($ar) ?>;
</script>
输出:
['Karachi','Lahore']
答案 1 :(得分:0)
你快到了。现在,您可以通过根据列名选择来访问$row
的相关数据成员。例如,您可以查看˚$row["id"]
的值。此外,fetch_assoc
类型函数也会逐行运行,因此当您有多个结果时,必须为每个row
而不是每个column
运行它。您可以将结果存储在php
数组中,但是必须将它们输出到文件的javascript部分,或者将它们存储在javascript可以访问的文件中,然后才能结束脚本的php
部分。下面我会就你的每个选项写一点。
查看this SO post以了解如何从csv中读取数据。所以在这个例子中,你的php脚本可以从数据库中读取数据,然后通过php生成一个csv文件。然后,您的javascript可以从csv文件中读取。
.js
包含。在这种情况下,您可以使用json_encode
打印php arrays
至javascript arrays
,如SO post所述。例如,要创建两个可在Javascript
城市和国家/地区访问的数组,我会这样做:
<?php
...
$city = array();
$country = array();
while($row = mysqli_fetch_assoc($result)){
array_push($city, $row['city']);
array_push($country, $row['country']);
}
...?>
<script>
var city = <?php echo json_encode($city); ?>;
var country = <?php echo json_encode($country); ?>;
...
</script>
这里我假设您将数据存储在列名为“city”和“country”
的数据库中您还应该考虑使用PDO objects来实现更安全的SQL操作。