ajax请求的问题

时间:2016-09-15 07:14:18

标签: php jquery ajax

我有一个ajax请求,它可以返回一行或多行,这取决于用户在选项中选择的内容,然后显示4个字段,与他选择的相关。

如果有两行或更多行,它可以正常工作,但只有一行时它根本不起作用。不显示4个字段。

我认为这是因为我的获取。

但我不知道如何解决问题

我希望你能帮助我。 :)

我的php请求:

    public function getContactByClient($id2, $id){
    $req = "select contact.nom, prenom, email, telephone from produit 
            inner join clientproduit on clientproduit.idClient = produit.id
            inner join client on client.id = clientproduit.idClient
            inner join contact on contact.id = client.idContact
            where clientproduit.idClient = '$id2' AND clientproduit.idProduit = '$id'";
    $res = PdoGR::$monPdo->query($req);
    $laLigne = $res->fetch();
    return $laLigne;
}

我的ajax请求:

    $('body').on('change', '#nomClient', function(){

    //on recupere la valeur de l'attribut value pour afficher tel ou tel resultat
    var req2=$('#referenceProduit').val();
    var req=$('#nomClient').val();
    //requête ajax, appel du fichier function.php
    $.ajax({
        type: "GET",
        url: "include/php.php?nomClient="+req+"&referenceProduit="+req2,
        dataType : "html",
        //affichage de l'erreur en cas de problème
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest + '--' + textStatus + '--' + errorThrown);
        },
        //function s'il n'y a pas de probleme
        success:function(data){
            //On affiche la réponse du serveur
            $('.client').empty();
            $('.client').prepend(data);
            $('input[name=nom]').val($('input:hidden[name=nom]').val());
            $('input[name=prenom]').val($('input:hidden[name=prenom]').val());
            $('input[name=telephone]').val($('input:hidden[name=telephone]').val());
            $('input[name=email]').val($('input:hidden[name=email]').val());
            console.log(data)
        }
    });
});

我的function.php

if(isset($_GET['nomClient'])){
    $id = $_GET["referenceProduit"];
    $id2 = $_GET["nomClient"];

    $res = $pdo->getContactByClient($id2, $id);

    foreach ($res as $key => $value) {
        echo '<input type="hidden" name="'.$key.'" value="'.$value.'"/>';
    }

    echo '
        <div class="form-group">
          <label for="nomContact" class="col-sm-1 control-label">Nom</label>
          <div class="col-sm-3">
            <input type="text" class="form-control" name="nom" id="nom" readonly>
          </div>
          <label for="prenomContact" class="col-sm-1 control-label">Prénom</label>
          <div class="col-sm-3">
            <input type="text" class="form-control" name="prenom" id="prenom" readonly>
          </div>
        </div>
        <div class="form-group">
          <label for="emailContact" class="col-sm-1 control-label">Email</label>
          <div class="col-sm-3">
            <input type="text" class="form-control" name="email" id="email" readonly>
          </div>
          <label for="telephoneContact" class="col-sm-1 control-label">Téléphone</label>
          <div class="col-sm-3">
            <input type="text" class="form-control" name="telephone" id="telephone" readonly>
          </div>
        </div>
      </div>
    ';
}

0 个答案:

没有答案