用php接收发布数据ajax

时间:2017-05-28 15:51:36

标签: javascript php jquery ajax post

我正在尝试使用来自ajax的php在同一页面中接收发布数据,但似乎我有一些问题我不知道要解决它们

这是我的html / php代码:

<select style="width:auto; margin-left:6%;" class="form-control" name="n-omran-select" id="num_omrane">
    <option value='' >Choisir...</option>
    <?php
    while ($row = $result->fetch_assoc())
    {
            echo "<option value=".$row['N_omran'].">".$row['N_omran']."</option>";
    }
    ?>
</select><br>
<?php
if (isset($_POST["selectName"])) {  // try to receive post values but it seems that's not working
            $selectOption = $_POST["selectName"];
            $query = "SELECT nom,prenom,tel,adress,matricule_assu FROM `personnel` WHERE N_omran ='$selectOption'";
            $result = mysqli_query($db,$query);
            $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
            if ($row) {
                echo "      <h4>Nom : {$row['nom']}</h4>
                                    <h4>Prénom : {$row['prenom']}</h4>
                                    <h4>Téléphone : {$row['tel']} </h4>
                                    <h4>Maticule d'assurance : {$row['matricule_assu']}</h4>
                                    <h4>Adresse : {$row['adress']}</h4>";
                                }
} ?>

这是我的Ajax帖子请求:

        $('#num_omrane').on('change', function () {
         var n_omrane = $('#num_omrane').val();
        if(n_omrane != ''){
            $.ajax({
           type: "POST",
           url: "index.php",
           data: {selectName: n_omrane},
           success: function () {
                alert("Post request successfully done")
               }
         });
        }
        });

2 个答案:

答案 0 :(得分:1)

下面的代码可以用干净的文字将所有数据替换为新数据:)

// get data from Database

<?php
if (isset($_POST["selectName"])) {  // try to receive post values but it seems that's not working
  $selectOption = $_POST["selectName"];
  $query = "SELECT nom,prenom,tel,adress,matricule_assu FROM `personnel` WHERE N_omran ='$selectOption'";
  $result = mysqli_query($db,$query);
  $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
} ?>
// show rows to be selected 
<select style="width:auto; margin-left:6%;" class="form-control" name="n-omran-select" id="num_omrane">
    <option value='' >Choisir...</option>
    <?php while ($row = $result->fetch_assoc()) { ?>
      <option value="<?= $row['N_omran'] ?>"> <?= $row['N_omran'] ?></option>
    <?php } ?>
</select><br>
// show recieved data 
<?php if ($row) { ?>
  <div id="informations">
    <h4>Nom : <span id="nom"><?= $row['nom'] ?></span></h4>
    <h4>Prénom : <span id="prenom"><?= $row['prenom'] ?></span></h4>
    <h4>Téléphone : <span id="tel"><?= $row['tel'] ?> </span></h4>
    <h4>Maticule d'assurance : <span id="matricule_assu"><?= $row['matricule_assu'] ?></span></h4>
    <h4>Adresse : <span id="adress"><?= $row['adress'] ?></span></h4>
  </div>
<?php } ?>

// script for making ajax call
<script>
$('#num_omrane').on('change', function () {
  var n_omrane = $('#num_omrane').val();
  if(n_omrane != ''){
    $.ajax({
      type: "POST",
      url: "index.php",
      data: {selectName: n_omrane},
      success: function (response) {
        $("#nom").text(response.nom);
        $("#prenom").text(response.prenom);
        $("#tel").text(response.tel);
        $("#matricule_assu").text(response.matricule_assu);
        $("#adress").text(response.adress);
      }
    });
  }
});
</script>

答案 1 :(得分:-1)

$json_data=file_get_contents('php://input');
$json=json_decode($json_data,true);
if(array_key_exists("selectName",$json)){
   $selectOption =$json["selectName"];
}