javascript - Why does json_encode return empty variable? -
i trying create edit modal dialog using ajax , php question-answer table. clicking edit, modal dialog display to-be-edited data particular row tracing id of question in database. tried tutorial script worked, when applied it, edit dialog empty. seems json_encode returning null. why that? , how fix it? i'm totally new ajax, appreciate if help.
i'm using php 7.
dbconnect.php
<?php $con = mysqli_connect("localhost","root","","register"); mysqli_set_charset($con, 'utf8'); // check connection if (mysqli_connect_errno()) { echo "failed connect mysql: " . mysqli_connect_error(); } ?>
index.php
<div id="add_data_modal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">php ajax update mysql data through bootstrap modal</h4> </div> <div class="modal-body"> <form method="post" id="insert_form"> <label>enter question here</label> <textarea name="question" id="question" class="form-control"></textarea> <br /> <label>enter first answer</label> <input name="answer1" id="answer1" class="form-control"></input> <br /> <label>enter first answer</label> <input name="answer2" id="answer2" class="form-control"></input> <br /> <label>enter first answer</label> <input name="answer3" id="answer3" class="form-control"></input> <br /> <label>enter first answer</label> <input name="answer4" id="answer4" class="form-control"></input> <br /> <input type="hidden" name="question_id" id="question_id" /> <input type="submit" name="insert" id="insert" value="insert" class="btn btn-success" /> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">close</button> </div> </div> </div> </div> <script> $(document).ready(function(){ $('#add').click(function(){ $('#insert').val("insert"); $('#insert_form')[0].reset(); }); $(document).on('click', '.edit_data', function(){ var question_id = $(this).attr("id"); $.ajax({ url:"fetchquestion.php", method:"post", data:{question_id:question_id}, datatype:"json", success:function(data){ $('#question').val(data.question); $('#answer1').val(data.answer1); $('#answer2').val(data.answer2); $('#answer3').val(data.answer3); $('#answer4').val(data.answer4); $('#question_id').val(data.id); $('#insert').val("update"); $('#add_data_modal').modal('show'); } }); }); $('#insert_form').on("submit", function(event){ event.preventdefault(); if($('#question').val() == "") { alert("answer 1 required"); } else if($('#answer1').val() == '') { alert("answer 2 required"); } else if($('#answer2').val() == '') { alert("answer 3 required"); } else if($('#answer3').val() == '') { alert("answer 4 required"); } else { $.ajax({ url:"insertquestion.php", method:"post", data:$('#insert_form').serialize(), beforesend:function(){ $('#insert').val("inserting"); }, success:function(data){ $('#insert_form')[0].reset(); $('#add_data_modal').modal('hide'); $('#question_table').html(data); } }); } });
fetchquestion.php
<?php require('dbconnect.php'); if(isset($_post["question_id"])) { $query = "select * questions id = '".$_post["question_id"]."'"; $result = mysqli_query($con, $query); $row = mysqli_fetch_array($result); echo json_encode($row); } ?>
insertquestion.php
<?php require('dbconnect.php'); if(!empty($_post)) { $output = ''; $message = ''; $question = mysqli_real_escape_string($con, $_post["question"]); $answer1 = mysqli_real_escape_string($con, $_post["answer1"]); $answer2 = mysqli_real_escape_string($con, $_post["answer2"]); $answer3 = mysqli_real_escape_string($con, $_post["answer3"]); $answer4 = mysqli_real_escape_string($con, $_post["answer4"]); if($_post["question_id"] != '') { $query = " update questions set quest_desc ='$question', ans1 ='$answer1', ans2 ='$answer2', ans3 = '$answer3', ans4 = '$answer4' id='".$_post["question_id"]."'"; $message = 'question updated'; } else { $query = " insert questions(quest_desc, ans1, ans2, ans3, ans4) values('$question', '$answer1', '$answer2', '$answer3', '$answer4'); "; $message = 'data inserted'; } if(mysqli_query($con, $query)) { $output .= '<label class="text-success">' . $message . '</label>'; $select_query = "select * questions order id desc"; $result = mysqli_query($con, $select_query); $output .= ' <table class="table table-bordered"> <tr> <th width="5">no. </th> <th width="45%">questions</th> <th width="10%">answer</th> <th width="10%">answer</th> <th width="10%">answer</th> <th width="10%">answer</th> <th width="5">edit</th> <th width="5">view</th> </tr> '; while($row = mysqli_fetch_array($result)) { $output .= ' <tr> <td> <strong><?php $count++; ?> </strong></td> <td>' . $row["quest_desc"] . '</td> <td>' . $row["ans1"] . '</td> <td>' . $row["ans2"] . '</td> <td>' . $row["ans3"] . '</td> <td>' . $row["ans4"] . '</td> <td><input type="button" name="edit" value="edit" id="' . $row["id"] . '" class="btn btn-info btn-xs edit_data" /></td> <td><input type="button" name="view" value="view" id="' . $row["id"] . '" class="btn btn-info btn-xs view_data" /></td> </tr> '; } $output .= '</table>'; } echo $output; } ?>
Comments
Post a Comment