0

我有一个 html 选择,用户在其中选择一个选项,然后单击 go。我接下来想要做的是根据他们在第一次选择中选择的选项,从 mysql 数据库中接收到另一个数据。

我让我的代码在运行查询的位置获取数据,然后在 ajax 调用中运行成功。问题是我不知道如何格式化返回的数据,以便能够用它填充 html 选择。我想我需要将返回的 json 中的结果解析为一个数组,该数组可用于输出每个值的选择选项。但是,我不确定如何执行此操作。或者如果有人有更好的建议,请帮忙。

进程.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";
}   

?>

代表.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');
  }   
 }); 



  }); 
4

1 回答 1

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

于 2013-03-13T22:56:22.800 回答