Вернуть данные выборки mysql и вставить в значение поля формы - PullRequest
0 голосов
/ 19 октября 2018

У меня есть список клиентов на странице, у каждого клиента есть значок, по которому можно щелкнуть, чтобы отредактировать детали клиента.

<i class="fas fa-user-edit gray openModal" data-modal="modal2" client="'.$client['id'].'"></i>

Все хорошо до этого момента.щелкните значок, чтобы открыть соответствующий модал, и он прекрасно запускает файл js.(Я сделал много консольных журналов, чтобы убедиться).Переменная client в моем файле jquery хранится нормально, и я могу передать ее в файл php.

в файле php, я могу получить информацию в массив, и я смог простооткройте $ client ['firstName'] и покажите его в консоли.

когда я перешел к получению этой информации и проанализировал ее как Json, когда я заблудился.Может кто-нибудь, пожалуйста, помогите мне взять мой результат и загрузить в мои поля формы.Код, который у меня сейчас есть, может быть полностью отключен, потому что я играл с другим кодом из разных поисков.

форма (сокращено до двух полей для простоты примера)

<form id="form" class="editClient ajax" action="ajax/processForm.php" 
method="post">

<input type="hidden" id="refreshUrl" value="? 
page=clients&action=view&client=<?php echo $client['id'];?>">
<input type="hidden" name="client" value="<?php echo $client['id'];?>">

<div class="title">
    Client Name             
</div>



<div class="row">

    <!-- first name -->
    <div class="inline">
        <input type="text" id="firstName" name="firstName" value="<?php echo $client['firstName']; ?>" autocomplete="nope" required>
        <br>
        <label for="firstName">First Name<span>*</span></label>
    </div>
<!-- last  name -->
    <div class="inline">
        <input type="text" id="lastName" name="lastName" value="<?php echo $client['lastName']; ?>" autocomplete="nope" required>
        <br>
        <label for="lastName">Last Name<span>*</span></label>
    </div>

</form>

javascript / jquery файл

$('.openModal').on('click', function() {

  //$('body, html, div').scrollTop(0);

  var that = $(this),
  client = that.attr('client');

  $.ajax({

    type: "post",
    url: "ajax/getClient.php",
    data: {id:client},
    success: function(response){

      var result = JSON.parse(response);
      var data = result.rows;

      $("#firstName").val(data[0]);

    }
  })

  });

php файл

<?php

include('../functions.php');

$sql = 'SELECT * FROM clients WHERE id="'.$_POST['id'].'"';
$result = query($sql);
confirmQuery($result);

$data = fetchArray($result);

echo json_encode(['response' => $data, 'response' => true]);

?>

ОБНОВЛЕНО ----------

Вот мой последний js-файл, который позволял устанавливать значения моей формы.

$('.openModal').on('click', function() {



var that = $(this),
        client = that.attr('client');

        $.ajax({

            type: "post",
            url: "ajax/getClient.php",
            data: {id:client},
            success: function(response){

            var result = JSON.parse(response);


                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].primaryContact)
                        .html(result[0].primaryContact)
                    );
                $("select#primaryContact").append( $("<option>")
                    .val("")
                        .html("")
                    );
                if (result[0].email !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].email)
                        .html(result[0].email)
                    );
                }
                if (result[0].phoneCell !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].phoneCell)
                        .html(result[0].phoneCell)
                    );
                }
                    if (result[0].phoneHome !== "") {
                    $("select#primaryContact").append( $("<option>")
                    .val(result[0].phoneHome)
                        .html(result[0].phoneHome)
                    );
                }



                     $("input#firstName").val(result[0].firstName);
                     $("input#lastName").val(result[0].lastName);
                     $("input#address").val(result[0].address);
                     $("input#city").val(result[0].city);
                     $("input#zip").val(result[0].zip);
                     $("input#email").val(result[0].email);
                     $("input#phoneCell").val(result[0].phoneCell);
                     $("input#phoneHome").val(result[0].phoneHome);
                     $("input#phoneFax").val(result[0].phoneFax);
                     $("input#source").val(result[0].source);
                     $("input#referBy").val(result[0].referBy);
                     $("input#client").val(result[0].id);

        }



        })

        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...