我有一个html选择,用户选择一个选项,然后单击go。我接下来要发生的是根据他们在第一个选择中选择的选项,调出另一个填充了从mysql数据库收到的数据。
我的代码工作在运行查询的位置获取数据,然后在ajax调用中运行成功。问题是我不知道如何格式化返回的数据,以便我能够用它填充html选择。我想我需要将json中的结果解析为一个数组,该数组可用于输出每个值的select选项。但我不知道怎么做。或者,如果有人有更好的建议请帮助。
process.php
<?php
$pdo = new PDO("mysql:host=localhost;dbname=sales_rep", "root", "");
$country = $_POST['q'];
$stmt = $pdo->prepare("
SELECT DISTINCT state_prefix
FROM zips
WHERE country = '$country'
ORDER BY state_prefix ASC
LIMIT 50");
if($stmt->execute()){
echo json_encode($stmt->fetchAll( PDO::FETCH_OBJ ));
} else {
echo "query fail";
}
?>
rep.js
$('#country').submit(function(event) {
event.preventDefault();
/*clear result div*/
$("#result").html('');
var values = $(this).serialize();
$.ajax({
url: "process.php",
type: "post",
data: values,
dataType: 'json',
success: function(response){
console.log(response);
},
error:function(){
alert("failure");
$("#result").html('there is error while submit');
}
});
});
答案 0 :(得分:0)
我用过:
这是我的php服务器:
<?php
$HTTP_RAW_POST_DATA = file_get_contents("php://input");
$data=json_decode($HTTP_RAW_POST_DATA,true);
$option= $data['option'];
require_once '../../Model/yourmodel.php';
$model= new Model();
header("Content-Type: text/html;charset=utf-8");
print json_encode($model->getQueries($option));
?>
这是我的模特:
$data = array();
try {
$myconexion= new conexion();
$cn = $myconexion->connect();
mysql_query("SET NAMES 'utf8'");
$rs = mysql_query($sql, $cn); //some sql
while($reg = mysql_fetch_assoc($rs)) {
$data[] = $reg;
}
mysql_free_result($rs);
mysql_close($cn);
} catch (exception $e) {
try {
mysql_free_result($rs);
} catch (exception $e) {
}
try {
mysql_close($cn);
} catch (exception $e) {
}
}
return $data;
还有一些客户:( jquery)
$("#country").submit(function(event){
event.preventDefault();
var option = $("#myIDoption").val();
//my atributes
var jsonCliente = {
option : option,
};
$.ajax({
type: "POST",
data: JSON.stringify(jsonCliente),
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "../backend/someurl.php",
success: function ( data ) {
//example of json result
/*
[{"idtb_producto":"3","name":"ENFERMEDADES ENDEMICAS EN EL PERU",
"stock":null,"buyprice":null},{"idtb_producto":"4","name":
"ENFERMEDADES PARASITARIAS","stock":null,"buyprice":null}]
*/
$.each(data, function(i) {
var nombre = data[i].name;
var stock = data[i].stock;
var price = data[i].buyprice;
//do something with my data
});
}
});
return false;
});
我希望这些信息可以帮助您:D