如何使用jQuery从PHP返回的JSON对象以引导形式填充数据

如何使用jQuery从PHP返回的JSON对象以引导形式填充数据,php,jquery,json,ajax,twitter-bootstrap,Php,Jquery,Json,Ajax,Twitter Bootstrap,我使用jQuery的ajax方法成功地将数据发送到PHP文件。 现在,我的问题是,我想填充一个模式表单,以便根据发送到PHP页面的事件ID编辑现有数据库记录 我用来调用PHP页面的代码片段是: $.ajax({ url: 'dbget.php', data: 'eventid='+event.id, type: 'POST', dataT

我使用jQuery的ajax方法成功地将数据发送到PHP文件。 现在,我的问题是,我想填充一个模式表单,以便根据发送到PHP页面的事件ID编辑现有数据库记录

我用来调用PHP页面的代码片段是:

$.ajax({
                    url: 'dbget.php',
                    data: 'eventid='+event.id,
                    type: 'POST',
                    dataType: 'json',
                    cache: false,
                    success: function(json_resp){   




                        //populate_data('#update_event', json_resp);
                        $('#updateModal').modal('show');
                    },
                    error: function(e){
                        alert('Error processing your request: '+e.responseText);
                    }
                });
如您所见,我似乎无法在ajax方法的成功部分的表单中填充数据

以下是从PHP文件返回的数据:

[{"u_id":"21","u_eventName":"Ready Ply","u_eventDate":"2017-05-11","u_customerName":"Fassoooggg","u_customerMobile":"9383838383","u_customerEmail":"ffgg@gmaks.com","u_totalAmount":"1000","u_advanceAmount":"500","u_balanceAmount":"500"}]
以下是处理DB请求并发送json编码数据的PHP文件片段:

//Get the evenId from the POST request
$eventId = $_POST['eventid'];

$events = array();

$getQuery = mysqli_query($con, "SELECT eventmaster.id, eventmaster.eventName, eventmaster.startDate, eventmaster.customerName, "
."eventmaster.customerMobile, eventmaster.customerEmail, eventdetail.totalAmount, eventdetail.advanceAmount, "
."eventdetail.balanceAmount FROM eventMaster INNER JOIN eventdetail ON eventmaster.id = eventdetail.eventId " 
."WHERE eventmaster.id= '$eventId'");

while($fetch = mysqli_fetch_array($getQuery, MYSQLI_ASSOC))
{
    $e = array();

    $e['u_id'] = $fetch['id'];
    $e['u_eventName'] = $fetch['eventName'];
    $eventDate =  substr($fetch['startDate'],0,10); //extract the eventDate in yyyy-mm-dd format from the table date
    $e['u_eventDate'] = $eventDate;
    $e['u_customerName'] = $fetch['customerName'];
    $e['u_customerMobile'] = $fetch['customerMobile'];
    $e['u_customerEmail'] = $fetch['customerEmail'];
    $e['u_totalAmount'] = $fetch['totalAmount'];
    $e['u_advanceAmount'] = $fetch['advanceAmount'];
    $e['u_balanceAmount'] = $fetch['balanceAmount'];


    array_push($events, $e);
}

//printf("Data sent to client: " );

echo json_encode($events); //return data in JSON array
请注意,json数据中的键与表单字段的名称匹配。这是表单片段。这是我试图填充的表单:

<!-- Update Event Modal Starts -->
<div id="updateModal" class="modal fade">
 <div class="modal-dialog">
  <div class="modal-content">

   <div class="modal-header"><!-- Modal Header -->
    <button type="button" class="close" data-dismiss="modal">&times;</button>
    <h4 class="modal-title">Update Event</h4>
   </div>

   <div class="modal-body"><!-- Modal Body -->

        <p class="statusMsg"></p>

        <form method="post" id="update_event">

            <div class="form-group">
                <input type="text" name="u_id" id="u_id" class="form-control"   />
            </div>
            <div class="form-group">
                <label for="u_eventName">Event Name</label>
                <input type="text" name="u_eventName" id="u_eventName" class="form-control"  placeholder="Event Name"/>
            </div>

                <label for="u_startDate">Event Date</label>
            <div class='input-group date' id='datetimepicker1'>
                <input type='text' class="form-control" name="u_startDate" id="u_startDate" readonly />
                <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div>
            <br />
            <div class="form-group">
                <label for="u_customerName">Customer Name</label>
                <input type="text" name="u_customerName" id="u_customerName" class="form-control"  placeholder="Customer Name"/>
            </div>

            <div class="form-group">
                <label for="u_customerMobile">Customer Mobile</label>
                <input type="text" name="u_customerMobile" id="u_customerMobile" class="form-control"  />
            </div>

            <div class="form-group">
                <label for="u_customerEmail">Customer Email</label>
                <input type="text" name="u_customerEmail" id="u_customerEmail" class="form-control"  placeholder="customer@email.com"/>
            </div>

            <div class="form-group">
                <label for="u_totalAmount">Total Amount</label>
                <input type="text" name="u_totalAmount" id="u_totalAmount" class="form-control"  placeholder="0"/>
            </div>

            <div class="form-group">
                <label for="u_advanceAmount">Advance Amount</label>
                <input type="text" name="u_advanceAmount" id="u_advanceAmount" class="form-control"  placeholder="0"/>
            </div>

            <div class="form-group">
                <label for="u_balanceAmount">Balance Amount</label>
                <input type="text" name="u_balanceAmount" id="u_balanceAmount" class="form-control"  placeholder="0"/>
            </div>

            <div class="form-group">
                <input type="submit" name="updateBtn" id="updateBtn" value="Update" class="btn btn-success" />
            </div>

        </form>
   </div>

   <div class="modal-footer"><!--Modal Footer -->
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
   </div>
  </div>
 </div>
</div>
<!-- Update Event Modal Ends -->

&时代;
更新事件

事件名称 活动日期
客户名称 客户手机 客户电子邮件 总金额 预付款 余额 接近
所以,再次,在看了上面的代码片段之后,请帮助我使用从PHP文件发送的JSON对象填充表单,该PHP文件包含要在表单中填充的数据库中的一行记录

我是不是错过了什么?另外,如果我试图在html页面中打印JSON对象,我只会打印一个对象而不是数据

我在这里发布的示例是我从PHP中得到的回应


任何人的帮助都将受到高度赞赏。谢谢。

您的代码容易受到攻击。您应该使用或准备带有绑定参数的语句,如中所述。感谢您的指导。当我解决了用PHP文件中的json对象填充表单的问题后,我会对它进行优化
while($fetch=mysqli_fetch_array($getQuery,mysqli_ASSOC)){/*here*/}
只需执行
$data[]=$fetch+['u eventDate'=>substr($fetch['startDate',0,10)]和循环后:
echo json_encode($data)实际上,表中的列名与表单字段的名称不同。因此,我正在迭代并将数据获取到适当的表单字段名。这是必需的,因为表列名与fullcalendar jQuery控件相对应。我用它来显示每个日期完成的预订。