如何使用JS变量作为参数执行sql查询

时间:2017-04-16 11:12:41

标签: javascript php ajax function

我的网站上有一张表格。在表单内部,我有一个选择菜单,它从sql表中获取数据(通过循环计费)。我用一些js脚本显示表单的不同部分(这是完美的工作)。在最后一步中,我概述了提交的数据。但我不知道如何选择"选择"数据并显示在同一页面中。

<form role="form" id="myform" method="post" action="logs_post.php">
                        <div class="tab-content">
                            <div class="tab-pane active" role="tabpanel" id="step1">
                                <div class="step1">
                                    <h3> Choose the Client</h3>
                                    <div class="row">
                                        <div class="col-md-12">
                                            <script type="text/javascript">
                                                $(document).ready(function() {
                                                    $(".js-example-basic-single").select2(
                                                    );
                                                });
                                            </script>
                                            <label for="exampleInputEmail1">TA Name</label>
                                            <?php 
                                            echo '<select class="js-example-basic-single  form-control"  name="TAName"  id="TAName" style="color:black;" >';

                                            while($cat = $NAMEClients->fetch()){
                                                echo '
                                                <option style="color:black;" value="'.$cat[ID].'">'.'<p id="nameta" >'.$cat[nom_agence].'</p>'.'  -  '.'<p id="office" >'.$cat[OID].'</p>'.'</option>';
                                                }
                                                echo '</select>';
                                                ?>
                                                <?php json_encode($NAMEClients) ?>
                                        </div>
                                    </div>
                                </div>
                                <ul class="list-inline pull-right">
                                    <li><button type="button" id="thebutton" class="btn btn-primary next-step">Save and continue</button></li>
                                </ul>

                                <script>
                                $('#thebutton').click(function(e) {
                                   e.preventDefault();
                                    console.log($('.js-example-basic-single').val());
                                });
                                </script>


                                <?php 
                                    /*$requete =  "SELECT nom_agence, OID FROM agencies WHERE ID="($('.js-example-basic-single').val()) " ";
                                    $reponse->query($requete);*/
                                ?>
                            </div>...........

我已将要执行的请求置于评论中。我的问题在于WHERE ID="($('.js-example-basic-single').val()) "

您能否就如何执行该操作提出一些建议。

注意:我已经看过一些AJAX建议,但我不知道如何使用它。

2 个答案:

答案 0 :(得分:1)

在这里使用jquery ajax(),其语法非常简单:

var elemId = $('.js-example-basic-single').val();

$.ajax({
  url: 'process.php',
  method: 'post',
  data: {
    // key: value pair like
    id: elemId,
    success: function(response){
       // Do something here
    }
  }
});

process.php:

$id = $_POST['id'];

此处$id包含$('.js-example-basic-single').val();

的值

答案 1 :(得分:0)

您可以在不刷新的情况下更新页面底层。 为HTML,CSS,JavaScript,PHP提供单独的文件是一种很好的做法。不要将所有内容整合在一个文件中。这是前进的方向。 我注意到你正在使用类选择器并有一个按钮。所以试试这个方法:

<script>
$(document).ready(function() {
$('#thebutton').click(function() {
    var data = {                
        basicSingle : $('.js-example-basic-single').val()   // or use .text() if val() doesn't work
    };
    $.post('phpFilename', data, function(data) {
        console.log(data);  //php returns data      
    });             
  };
};
</script>


<?php
basicSingle = test_input($_POST["basicSingle"]);
$sql = /* your code here */
echo data;
mysqli_close($conn);
?>