Заполните ввод с базой данных, используя опцию выбора в php - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть опция Выбрать, в которой есть имена клиентов. Я хочу заполнить телефон и адрес электронной почты, извлеченные из базы данных на эти 2 поля ввода. Я использую javacript для достижения, затем @mr J ответ, упомянутый ЗДЕСЬ . Я пытался alert(user); получить выбранное значение, но больше ничего не происходит.

addlead. php

 <div class="form-group row">
              <label for="inputEmail3" class="col-sm-4 col-form-label">Phone</label>
                <div class="col-sm-10">
                  <input type="text" class="form-control form-control-sm" id="phone" name="phone" placeholder="Enter Phone no.">
                </div>
            </div>

<div class="form-group row">
             <label for="inputEmail3" class="col-sm-4 col-form-label">Email</label>
                <div class="col-sm-10">
                  <input type="email" class="form-control form-control-sm" id="email" name="email" placeholder="Enter Email" onkeyup="checkemail();" required="">
                </div>
            </div>
<script type="text/javascript">
$(document).ready(function(){
$('#customer_name').on('change',function(){
    var user = $(this).val();
    alert(user);
    $.ajax({
        url : "search2.php",
        dataType: 'json',
        type: 'POST',
        async : false,
        data : { user : user},
        success : function(data) {
            userData = json.parse(data);
            $('#phone').val(userData.phone);
            $('#email').val(userData.email);
        }
    }); 
    });
    });
    </script>

search2. php

 $con = mysqli_connect("localhost", "user_crm", "pass", "kaem_crm");
if (mysqli_connect_errno()){
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$user = $_REQUEST['user'];    
$sql = mysqli_query($con, "SELECT phone,email FROM customer WHERE Cust_name = '".$user."' ");
$row = mysqli_fetch_array($sql);

json_encode($row);die;

1 Ответ

0 голосов
/ 06 апреля 2020

Вы не возвращаете результат, попробуйте это

<?php
$con = mysqli_connect("localhost", "user_crm", "pass", "kaem_crm");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$user = $_REQUEST['user'];    
$sql = mysqli_query($con, "SELECT phone,email FROM customer WHERE Cust_name = 
'".mysqli_escape_string($con, $user)."' ");
$row = mysqli_fetch_array($sql);

header('Content-Type: application/json'); //set the content type for browser
echo json_encode($row); //return result to browser
mysqli_close($con); //close mysql connection

На странице формы

  <div class="form-group row">
          <label for="inputEmail3" class="col-sm-4 col-form-label">Name</label>
            <div class="col-sm-10">
              <select class="form-control form-control-sm" id="customer_name" name="name" placeholder="Select Name.">
             <option value="some value">some value</option>
           </select>
            </div>
        </div>
  <div class="form-group row">
  <label for="inputEmail3" class="col-sm-4 col-form-label">Phone</label>
            <div class="col-sm-10">
              <input type="text" class="form-control form-control-sm" id="phone" name="phone" placeholder="Enter Phone no.">
            </div>
        </div>

<div class="form-group row">
         <label for="inputEmail3" class="col-sm-4 col-form-label">Email</label>
            <div class="col-sm-10">
              <input type="email" class="form-control form-control-sm" id="email" name="email" placeholder="Enter Email" onkeyup="checkemail();" required="">
            </div>
        </div>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
 $(document).ready(function(){
 $('#customer_name').on('change',function(){
 var user = $(this).val();
 $.ajax({
    url : "search2.php",
    dataType: 'json',
    type: 'POST',
    async : true,
    data : { user : user},
    success : function(data) {    
        $('#phone').val(data.phone);
        $('#email').val(data.email);
    }
}); 
});
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...