我正在开发一个PhoneGap应用程序,从MySQL数据库中获取一些信息。当我试图打开一个HTML页面时,我感到很吃力,该页面包含两个需要在页面加载时填充的选择输入,每个输入都来自两个不同的表。我不知道为什么,但它们没有被填充。请提供任何帮助,我们非常欢迎。
HTML代码
<div data-role="content">
<p></p>
<form id="cname" align="left" action="post" data-ajax="false" >
<label for "id">Employee's Name:</label><br/>
<select name="id" id="id"></select><br/>
<label for "job_id">Job's Name:</label><br/>
<select name="job_id" id="job_id"></select><br/>
<input type="hidden" name="latitued" id="latitued" value="">
<input type="hidden" name="longitude" id="longitude" value="" >
<input type="hidden" name="goo_map_api" id="goo_map_api" value="">
<input type="submit" value="Clock-In" id="enviar_in" data-inline="true">
</form>
</div
Jquery脚本两个SELECT
<script type="text/javascript">
$(document).ready(function(e){
var items="";
$.getJSON("get_emp.php",function(data){
$.each(data,function(index,item)
{
items+="<option value='"+item.id+"'>"+item.fullName+"</option>";
});
$("#id").html(items);
});
});
</script>
<script type="text/javascript">
$(document).ready(function(e){
var items="";
$.getJSON("get_job.php",function(data){
$.each(data,function(index,item)
{
items+="<option value='"+item.id+"'>"+item.job_name+"</option>";
});
$("#job_id").html(items);
});
});
</script>
PHP文件get_emp.php
<?php
$mysqli = new mysqli($mysql_hostname,$mysql_user, $mysql_password, $mysql_database);
$q = "select id, fullName from employees";
$sql = $mysqli->query($q);
$data = array();
while($row = mysqli_fetch_array($sql, true)){
$data[] = $row;
};
echo json_encode($data);
?>
PHP文件get_job.php
<?php
$mysqli = new mysqli($mysql_hostname,$mysql_user, $mysql_password, $mysql_database);
$q = "select id, job_name from jobs";
$sql = $mysqli->query($q);
$data = array();
while($row = mysqli_fetch_array($sql, true)){
$data[] = $row;
};
echo json_encode($data);
?>
再一次,我很感激你花时间看了这段代码,试图给予我一个帮助。谢谢。
3条答案
按热度按时间u0sqgete1#
代码看起来没问题。你设置了正确的标题吗?
u3r8eeie2#
乍一看,代码看起来不错。控制台里有什么?所有的json数据都在那里吗?否则试试
更新:您能否尝试添加
错误日志(打印_r($data,1));
之前
echo json_编码($数据);
并检查php_error. log以查看在加载页面时服务器端是否填充了数据
qltillow3#
我认为这与DOM就绪和执行Jquery脚本之间的时间有关。
在这种情况下,您的脚本在DOM准备好之前执行,如果您引用的某些对象在DOM中尚未准备好,因此JQuery无法找到该对象,则JQuery将停止执行。