我正在用ajax从数据库调用数据,我希望在html页面中将结果加载到两个输入(标签和列表框)中,问题是它显示标签#FrmCount
中的值但它没有在列表框#FarmersID
中显示任何内容..
这是ajax
$.ajax({
type:"POST",
url:"AddData.php",
dataType: 'json',
data:
{
'Order_ID': Order_ID,
'Frm_ID':Frm_ID,
'Frm_Wet':Frm_Wet,
'Frm_Dry':Frm_Dry,
'Frm_Fermented':Frm_Fermented,
'Frm_Date':Frm_Date
},
success: function(data)
{
$("#FrmCount").html(data.FarmerCount);
$("#FarmersID").html(data.FarmersID);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('ERROR', textStatus, errorThrown);
}
})
这是php代码:
$stmt1 ="SELECT distinct Farm_id FROM ordersfarmers WHERE Order_ID='".$_POST["Order_ID"]."'AND Reply='1'";
$results=$conn->query($stmt1)->fetchAll();
$res=count($results);
foreach ($conn->query($stmt1) as $row)
{
$json = array("FarmerCount" => $res,
"FarmersID" => $row['Farm_id']
);
echo json_encode($json);
}
和html部分
<div>
<select name="FarmersID" id="FarmersID" multiple style="width:280px;height:110px;" onclick="showonmap()">
</select>
</div>
<div>
<label id="FrmCount"></label>
</div>
答案 0 :(得分:0)
您的PHP不正确。
您正在获取所有结果,然后尝试再次获取,但语句指针已经位于数据集的末尾。
试试这个:
$results = $conn->query($stmt1)->fetchAll();
$res = count($results);
$json = array(
"FarmerCount" => $res,
"FarmersID" => $results
);
echo json_encode($json);
您不需要在数组中使用此FarmerCount
项,只需通过data.FarmersID.length
获取此数字。
答案 1 :(得分:0)
使用代码@media (max-width: 1200px) {
#svggroup svg {
width: 800px;
}
}
@media (max-width: 960px) {
#svggroup svg {
width: 600px;
}
}
@media (max-width: 768px) {
#svggroup svg {
width: 400px;
}
}
@media (max-width: 420px) {
#svggroup svg {
width: 200px;
}
}
,您基本上可以创建类似的内容:
$("#FarmersID").html(data.FarmersID);
这不是一个正确的选择格式,你需要的是在html中创建<select name="FarmersID" id="FarmersID" multiple style="width:280px;height:110px;" onclick="showonmap()">
1 <!-- your id -->
</style>
。对于此示例,您可以执行以下操作:
option
但是你总会得到一个元素。你应该返回一个数组(你现在没有这样做)或者你可以在$("#FarmersID").append('<option value="' + data.FarmerID + '">' + data.FarmerID + '</option>');
中构建适当的html并将其返回到php
。
编辑:
javascrip
并在javascript中
foreach ($conn->query($stmt1) as $row)
{
$farmesIds[$row['Farm_id']] = $row['Farm_id'];
}
$json = array(
"FarmerCount" => $res,
"FarmersID" => $farmesIds
);
echo json_encode($json);
您可以传递其他内容作为值(标签或smth?)并将ID作为密钥保存。