jas*_*loe 0 html javascript php
我必须创建一个下拉列表和一个按钮,点击后将添加另一个下拉列表。我使用了这个 javascript 代码:
var array = ["Volvo","Saab","Mercades","Audi"];
var cell2 = row.insertCell(1);
var element2 = document.createElement("select");
element2.name="activity_dropdown"
element2.id="activity_dropdown"
cell2.appendChild(element2);
for (var i = 0; i < array.length; i++) {
var option = document.createElement("option");
option.setAttribute("value", array[i]);
option.text = array[i];
element2.appendChild(option);
}
Run Code Online (Sandbox Code Playgroud)
但我希望我的 var 数组将来自数据库结果查询。我该怎么做才能将 php 数组传递给 javascript 数组?
顺便说一句..我试过使用json_encode但它似乎不起作用..这是我的代码:
用于数据.php
<?php
include('connection/dbConn.php');
// get data and store in a json array
$activity=$conn->query("SELECT activity_name FROM rehab_activities");
while ($row =mysqli_fetch_array($activity)) {
$activities[] = array(
'actvityName' => $row['activity_name']
);
}
echo json_encode($activities);
?>
Run Code Online (Sandbox Code Playgroud)
并在这里尝试,但没有任何结果:
<script>
jQuery(document).ready(function(){
jQuery("#add").click(function(){
var res = new Array();
jQuery.getJSON("data.php", function(data) {
var i= 0;
while(i<data.myarray.length){
res[i]=data.myarray[i];
i++;
}
jQuery("#result").html(res[0]);
});
});
});
</script>
<body>
<input type="button" id="add">
<div id="result"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
让php编写脚本的那部分,同时循环遍历您的查询。像这样:
var array = [
<?php
$query = mysql_query("SELECT * FROM cars");
while ($car = mysql_fetch_assoc($query)) {
$car_name = $car["name"];
echo "'$car_name',";
}
?>
];
Run Code Online (Sandbox Code Playgroud)
为此,您的文件必须是php文件而不是javascript文件,因为在 php 文件中您还可以编写 html,因此也可以编写 javascript。
我个人通过创建一个名为db-to-js.php的文件来解决这个问题,该文件只包含由 php 创建的javascript 数组 。每当数据库被修改,其中一个或多个JavaScript数组时也会被修改,因为它们创建的每个执行该文件的时间。
最后,您必须将需要的文件作为脚本包含在内:
<script type="text/javascript" src="db-to-js.php"></script>
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
8093 次 |
| 最近记录: |