【问题标题】:How to use onchange function to get the data from database?如何使用 onchange 函数从数据库中获取数据?
【发布时间】:2019-10-24 02:48:33
【问题描述】:

我一直卡在onchange函数从数据库中获取数据,我需要在选择框中选择“点”,然后表格得到我想要在选择框中选择“点”。

例如图片我需要在表格中选择“点”显示数据:

然后我选择“娱乐点”来获取数据:

我只是编写普通代码来显示表格中的数据:

      <div class="row">
      <div class="col-lg-12">
          <div class="box">

                <header>
                  <h5>Transaction History</h5>
                       <!-- .toolbar -->
                       <div class="toolbar">
                           <nav style="padding: 8px;">
                        <a href="javascript:;" class="btn btn- 
         default btn-xs collapse-box">
                            <i class="fa fa-minus"></i>
                        </a>
                    </nav>
                </div><!-- /.toolbar -->
             </header>
               <div id="collapse4" class="body">




     <div class="col-lg-6">
         <select id="select01" class="form-group form-control required" >
         <option value="admin">BONUS POINT</option>
            <option value="eng">REGISTER POINT</option>
             <option value="enter_point">ENTERTAINMMENT POINT</option>
                <option value="business_point"> BUSINESS POINT</option>
         </select>
  </div>

      <br>

       <div class="myClass" id="admin">
           <table class="table table-bordered table-striped table-hover">
    <thead>
        <tr>
          <th>No</th>
            <th>Type</th>
            <th>Transfer/Receive</th>
            <th>Withdrawal</th>
            <th>Remarks</th>
            <th>Charges</th>
            <th>Date</th>
                 </tr>
               </thead>
             <tbody>
               <tr>
            <td>1</td>
            <td>Bonus Point</td>
            <td>RM 1,500</td>
            <td>RM 2,000</td>
            <td>Success</td>
            <td>RM 100</td>
            <td>23 Oct 2019</td>
                 </tr>

                  <tr>
                     <td>1</td>
                     <td>Bonus Point</td>
            <td>RM 1,500</td>
            <td>RM 2,000</td>
            <td>Success</td>
            <td>RM 100</td>
            <td>23 Oct 2019</td>
                           </tr>
              </tbody>
          </table>
          </div>

         <div class="myClass" id="eng">
           <table class="table table-bordered table-striped table-hover">
            <thead>
              <tr>
           <th>No</th>
             <th>Type</th>
            <th>Transfer/Receive</th>
            <th>Withdrawal</th>
            <th>Remarks</th>
            <th>Charges</th>
             <th>Date</th>

        </tr>
    </thead>
             <tbody>
        <tr>
            <td>1</td>
            <td>Register Point</td>
             <td>RM 3,500</td>
            <td>RM4,000</td>
            <td>Success</td>
            <td>RM 150</td>
            <td>19 Oct 2019</td>
             </tr>
    </tbody>
        </table>
    </div>

        <div class="myClass" id="enter_point">
          <table class="table table-bordered table-striped table-hover">
     <thead>
        <tr>
            <th>No</th>
            <th>Type</th>
            <th>Transfer/Receive</th>
            <th>Withdrawal</th>
            <th>Remarks</th>
            <th>Charges</th>
            <th>Date</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Entertainment Point</td>
            <td>RM 1,250</td>
            <td>RM 2,100</td>
            <td>Success</td>
            <td>RM 120</td>
            <td>12 Oct 2019</td>
        </tr>
    </tbody>
          </table>
       </div>


      <div class="myClass" id="business_point">
       <table class="table table-bordered table-striped table-hover">
    <thead>
        <tr>
         <th>No</th>
            <th>Type</th>
            <th>Transfer/Receive</th>
            <th>Withdrawal</th>
            <th>Remarks</th>
            <th>Charges</th>
            <th>Date</th>
        </tr>
            </thead>
              <tbody>
        <tr>
            <td>1</td>
            <td>Business Point</td>
            <td>RM 5,500</td>
            <td>RM 1,000</td>
            <td>Success</td>
            <td>RM 300</td>
            <td>21 Oct 2019</td>
        </tr>
    </tbody>
          </table>


        </div>
       </div>
        </div>
          </div>
         </div>






  <script>
   $(function () { 
           $("#admin").show();

              $("#select01").on("change", function () {        
               $("#admin").hide();
             $(".myClass").hide();
               $("div[id='" + $(this).val() + "']").show();
            });
       });

              </script>

现在我想调用数据库数据以使用我放在表中的选择选项(点类型)。任何人都可以给我一个样本或编辑我的代码给我看吗?非常感谢您指导我。

以下是我的数据库信息:

【问题讨论】:

  • 使用jquery发布数据。
  • @GGw 你能给我看看示例代码吗?

标签: php sql database


【解决方案1】:

您已经在使用JQuery,所以不会那么难。

$('#select01').change(function() {
  $('#admin table tbody').empty();

  $.post('/getData', {id: $('#select01').val()}, function(data) {
     if (data.return) {
       $.each(data.items, function(key, val) { //populate data
         $('#admin table tbody').append('<tr>'+
          '<td>'+(key+1)+'</td>' + //No
          '<td>'+val.type+'</td>' + //Type
          '<td>'+val.status+'</td>'+ //Transfer/Receive
          '<td>'+val.withdrawal+'</td>'+ //Withdrawal
          '<td>'+val.remarks+'</td>'+ //Remarks
          '<td>'+val.charges+'</td>' + //Charges
          '<td>'+val.date+'</td>'+ //Date
         '</tr>');
       });
     }
  }, 'json');
});

这真的取决于你如何使用你的 sql 语句,这只是一个示例。

获取数据:

function getData() {
  $servername = "localhost";
  $username = "username";
  $password = "password";
  $dbname = "myDB";

  // Create connection
  $conn = new mysqli($servername, $username, $password, $dbname);
  // Check connection
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }

  $id = $this->input->post('id');

  $sql = "SELECT * FROM transaction_history WHERE id='".$id."'";
  $result = $conn->query($sql);

  if ($result->num_rows > 0) {
   echo json_encode(array('return'=>1, 'items'=>$result));
  } else {
   echo json_encode(array('return'=>0));
  }
  $conn->close();
}

【讨论】:

  • 我尝试使用你的代码,仍然无法工作。你能把你的代码放在我的代码里吗?非常感谢。
  • 您应该鼓励使用实践来防止 sql 注入。
【解决方案2】:

您可以使用 Ajax 来填充表格。

第1步:追加onchange到选择框->

       <select id="select01" class="form-group form-control required" onchange="myFunction()" >
 <option value="admin">BONUS POINT</option>
    <option value="eng">REGISTER POINT</option>
     <option value="enter_point">ENTERTAINMMENT POINT</option>
        <option value="business_point"> BUSINESS POINT</option>
 </select>

第 2 步:设置 myFunction ->

  function myFunction(){

var selected_option= $("#select01 option:selected").val();

$.ajax({
 url: "backend_script.php",
 type:"post",
 data:{selected_option:selected_option},
success:function (resp){
 $('#admin table tbody').html(resp);

}


});


  }

后端脚本:

<?php

if(isset($_POST['selected_option'])){

 //implement your script here 
    $param=$_POST['selected_option'];

 // sql query
$sql=$this->con->prepare("select * from table where column=?");
$sql->bind_param("s",$param);
$sql->execute();
$result=$sql->get_result();
if($result->num_rows>0){
while($row=$result->fetch_assoc()){
 $column1=$row['column1'];
 $column2=$row['column2'];
 $column3=$row['column3'];

 echo "<tr><td>$column1</td><td>$column2</td><td>$column3</td></tr>";


}
}






}
 ?>

希望这会有所帮助,我已经在我的一个脚本中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2020-06-14
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多